我们有一个运行良好的 IIS7 机器的网络农场。在他们面前的是一个F5 Big-IP硬件负载均衡器,也工作正常:)

(来源:www.f5.com)
目前我们使用 anASP.NET State Service来处理我们的OutProc状态。当您有一个网络场来维护任何类型的会话信息时,这是必需的。
我想知道我们是否可以在 F5 Big-IP 上进行粘性会话,从而从 OutProc 改回 InProc?如果是这样,这样做的缺点是什么?我知道 InProc 与 OutProc 的缺点,所以不用担心解释。我对没有 F5 Big-IP 的粘性会话的利弊更感兴趣。
任何人都可以阐明一些观点和/或经验吗?
我需要重新 ip 大约 600 个服务器,这本身就够糟糕了,但我已经自动化了整个过程,除了一个部分:F5 配置。
在我能找到的所有文档中,都没有关于通过 SOAP 接口更改节点 IP 地址的内容,这似乎是不可能的。大多数人建议在导出的配置文件上使用 sed 技巧并重新导入它们,但这太脆弱了。
我正在考虑通过 SOAP 进行删除-创建-重新添加到池的舞蹈,但这似乎也很脆弱。有没有更好的办法?
注意:我需要在 BigIP 的 v10 和 v11 上执行此操作。
我们使用 F5 进行负载平衡和 SSL 代理。在它背后,我们使用 Tomcat 实例提供 Java 应用程序。这些是相当小的应用程序 - 数百个并发用户。
我想压缩一些内容,我正在寻找有关选择在 F5 或 tomcat 实例上配置压缩的建议。决定中的任何重要因素,还是一个六个中的六个?
首先让我说我不是系统管理员,我是程序员。
最近,我们的系统管理员安装了 F5 负载均衡器。从那时起,我注意到任何时候请求超时并最终抛出 500,负载均衡器都会向我们的另一台服务器发送相同的请求。即使脚本实际上仍在运行,IIS 也会发送超时响应。如果脚本运行超过 5 分钟,即使 POST 请求也会重复。这对我来说似乎是一个潜在的问题,尤其是对于涉及客户计费的电子商务网站。
这只是我们一些运行时间较长的脚本的问题(但这是一个严重的问题)。我被告知这是预期的行为,我们必须更改我们的代码以符合要求。所以我的问题是:
过去几天我一直在挠头,试图为以下问题提出解决方案:
在我们的数据中心,我们有一个运行在 BigIP 硬件上的 F5,它充当来自全国各地不同办公地点的客户端机器的 HTTPS 请求的单一入口点。F5 终止 TLS,然后将所有请求转发到两个 Traefik 负载均衡器,后者将请求路由到各种服务实例(Traefik 节点在 Red Hat Enterprise 上的 Docker 中运行,但我认为这与我的问题无关)。从吞吐量、CPU 和内存的角度来看,这三个网络组件完全有能力处理大量请求和流量,并有足够的备用容量。
但是,我们注意到客户端发出的 HTTP(S) 请求频繁出现 1000 毫秒的延迟,尤其是在高负载时间。我们将问题跟踪到以下根本原因:
显然,那些 1000 毫秒的延迟是绝对不能接受的。所以到目前为止我们已经考虑了以下解决方案: …
我有一个由我们的托管服务提供商管理的 F5 Big-IP。它专用于我们的专用 VLAN 等。效果很好:)
我们要求他们添加 X-Forwarded-For HTTP-Header 字段。他们已经这样做了,我们现在可以在代码中访问它。惊人的 :)
但是..对于我们的IIS日志,它仍然是F5机器的IP。我想我被告知我们需要对 IIS 服务器应用 ISAPI 过滤器(畏缩!)。
我们正在使用 F5 来执行负载平衡。当使用 SSL 桥接而不是终止时,我们通常在前端使用通配符,在 HTTPS 后端使用常规 SSL 证书。
但是,一些同事认为,对于 MS Exchange 等某些应用程序,我们必须在后端和负载均衡器中使用相同的私钥。
我无法理解后端如何检查负载均衡器使用的私钥。我检查了F5 的文档,但找不到任何相关内容。
有人可以帮我理解吗?
更新 1:我开始强烈怀疑这是对实际发生的事情的歪曲,尽管有几个同事的说法。现在,其他人再次证实了这种怀疑。当我找到结论时,我会更新。如果其他人有任何想法,请提交。
更新 2:对于 VMware Horizon,我找到了一篇知识库文章,解释了证书不匹配时收到的错误。我可以由此得出结论,Horizon 正在通过比较其协议中的指纹来实现自己的检查吗?
我似乎找不到任何使用ssh界面禁用和重新启用机器的简单示例。有人能给我一个简短的例子或指向体面文档的指针吗?
我正在研究 HAProxy 作为 F5 的可能替代品。F5 能够根据响应标头值持久化会话:
when HTTP_RESPONSE {
set session [HTTP::header X-Session]
if {$session ne ""} {
persist add uie $session
}
}
Run Code Online (Sandbox Code Playgroud)
然后将所有在标头、查询参数、路径等中包含相同会话 ID 的后续请求路由到同一台机器,例如:
when HTTP_REQUEST {
set session [findstr [HTTP::path] "/session/" 9 /]
if {$session} {
persist uie $session
}
}
Run Code Online (Sandbox Code Playgroud)
我想知道这是否可以与 HAProxy 一起使用?
IETF RFC 2616 第 4.2 节允许请求包含具有相同字段名称的多个标头,只要保留插入的时间顺序,并且它们的值可以转换为具有逗号分隔值列表的单个标头。
http://tools.ietf.org/html/rfc2616#section-4.2
当且仅当该头字段的整个字段值被定义为逗号分隔列表[即,#(values)] 时,消息中可能存在具有相同字段名的消息头字段。通过将每个后续字段值附加到第一个字段值,每个字段值用逗号分隔,必须可以将多个标题字段组合成一个“字段名称:字段值”对,而不改变消息的语义。因此,接收具有相同字段名的头字段的顺序对组合字段值的解释很重要,因此当转发消息时,代理不得更改这些字段值的顺序。F5 不会覆盖任何现有的 X-Forwarded-For。它也不会将现有的 X-Forwarded-For 连接成一个逗号分隔的值。反而,
但是,如果环境中有多个客户端、代理、CDN、流量管理器、参与操作X-Forwarded-For集合的服务器呢?
执行统一的做法似乎有好处。但最佳实践是什么?
F5 BIG-IP 默认 http 配置文件插入标头X-Forwarded-For在请求的预先存在的 XFF 标头集合的末尾累积一个附加标头,以保留顺序。
AWS ELB 鼓励将传入请求的多个X-Forwarded-For合并到一个包含以逗号分隔的 XFF IP 列表以及用户主机地址的单个标头中,以保留顺序。
其他设备可以采用其他变体。
是否存在针对异构环境的商定建议或事实上的标准?
此外,是否提供了任何时间戳数据,以允许代码X-Forwarded-For在先前对 XFF 标头的操作可疑的情况下按添加的时间顺序对标头进行明确排序。
我刚刚开始使用 F5 的 Big-IP,我有一个关于 iRules 和 HTTP 重定向的问题。我们正在将 SSL 从我们的 Web 服务器卸载到 F5,我们的应用程序强制执行我们网站上的许多页面只能在 HTTPS 中运行。我想把它从 APP 移到 F5 上,但我一直无法弄清楚我们的方法,所以作为一个例子,我希望任何试图登录的人都被迫使用 HTTPS,例如 http://"mysite"/ login.aspx = https://"mysite"/login.aspx。
我已经做了一些谷歌搜索,已经提供了一些很好的信息,但我还没有找到我要找的东西,如果有人这样做了,并希望与我分享,那就太好了
是否BIG IP支持粘性会话?
我的Big IP伙伴端的盒子后面有 2 个 apache 。需要知道是否Big IP支持粘性会话。
我的 apache 启用了粘性会话。所有请求都将到达托管在jboss.
据我所知,一个 TCP/IP 栈最多只能维持 65535 个并发连接;在阅读一些 F5 BigIP 负载均衡器的白皮书时,我看到它们可以保持打开的数百万个并发连接;
我特别关注最低端模型 2000 年代,它指出它可以保持 500 万个并发连接。
在操作系统级别,这是如何管理的?每个铜缆/光纤链路只能有 65535 个吗?这是否意味着它需要 75 个以上的上行链路连接才能达到此限制?