【发布时间】:2011-12-06 09:26:37
【问题描述】:
好的,所以在我的工作中,我们将 SSL 终止从 Web 服务器移动到负载平衡器。然后负载平衡器将请求传递到服务器,并设置一个标志,表明连接是安全的。
我们对除 Chrome 之外的所有浏览器(IE、FF、Safari)都没有任何问题。哦,Chrome,你真是个笨蛋。
所以我实际上并不怀疑 Chrome 有问题,而是服务器有问题。我在想 Chrome 必须发送某种不同的标头值,导致服务器崩溃。在发送请求并等待响应后,我从 chrome 收到此消息:
- 错误 324 (net::ERR_EMPTY_RESPONSE):服务器关闭了连接,没有发送任何数据。
事实上,在告诉 Fiddler2 捕获 HTTPS CONNECT(充当浏览器和服务器之间的代理)之后,我成功地得到了响应。同样,Chrome 似乎正在发送服务器认为不合适的内容。
任何想法我应该检查什么?我有点不知所措。
感谢您的宝贵时间。
【问题讨论】:
-
它要么是服务器,要么是负载均衡器。我会怀疑后者,这可能会使调试变得困难。我假设您正在使用 Fiddler 来捕获 Chrome 流量,对吧?而且,您是说您可以成功发送 Chrome 发送的相同请求并使其成功吗?如果是这样,Chrome 没有正确处理重定向?只是一个想法。
-
是的,谢谢 Gregory 的想法。在服务器上设置调试后,我确认负载均衡器是有问题的。从 Chrome 发送的 HTTPS 请求永远不会到达服务器。每个其他请求(HTTP 或来自其他浏览器的 HTTPS)都会成功到达服务器。对我来说幸运/不幸的是,我无法触摸负载平衡器——我必须让运维人员看看。无论如何,再次感谢!
-
如果你愿意,我可以将一个答案标记为官方答案,如果你关心分数。
-
对于任何想知道修复是什么的人,显然有一个新的协议或其他东西(抱歉缺乏细节,我们已经有一段时间没有解决这个问题了)新的负载均衡器能够处理。我们有一个旧的负载均衡器,这导致了 Chrome 的问题(仅限 Chrome ..)。我们升级了硬件,问题就解决了。
标签: asp.net google-chrome ssl https termination