我们有一个位于 NSX 负载均衡器后面的 IIS 服务器。
我们使用 NTLM 来对 IIS 进行身份验证,但只有当我直接访问服务器时它才有效,而当我通过负载平衡器访问它时则无效。这来自同一个浏览器,只是访问了不同的端点。
我将 TCPTrace 放在负载均衡器和 IIS 之间,我能看到流量的主要区别是来自负载均衡器的Connection: close
HTTP 头被设置,而直接发送到负载均衡器的 HTTP 头被设置为正常keep-alive
。然后我对 NTLM 进行了更多研究,结果发现它是面向连接的,所以Connection: close
不是一个选项。
负载均衡器是否可能正在更改标头?它仅通过 VMWare/NSX UI 进行配置,并且该配置中没有任何异常。
其他信息:负载均衡器是 HTTPS 端点;IIS 正在监听 HTTP(TCPTrace 也是如此)。
编辑:以下规则(来自这里 [PDF],第 43 页)已应用于负载平衡器,但没有任何效果:
no option http-server-close
no option httpclose