我们有一个设置,其中浏览器向盒子 A 发出 http 请求,盒子 A 又向盒子 B 发出 http 请求。我们遇到的情况是,盒子 A 等待盒子 B 响应两分钟,然后用户会看到:
The page cannot be displayed
Explanation: There is a problem with the page you are trying to reach and it cannot be displayed.
Try the following:
* Refresh page: Search for the page again by clicking the Refresh button. The timeout may have occurred due to Internet congestion.
* Check spelling: Check that you typed the Web page address correctly. The address may have been mistyped.
* Access from a link: If there is a link to the page you are looking for, try accessing the page from that link.
Technical Information (for support personnel)
* Error Code: 404 Not Found. The requested item could not be located. (12028)
查看 Box B 上的日志我们发现完成所请求的工作需要 5 分钟。
问题是两个盒子上的 apache 超时都设置为 1200(20m),而不是 120(2m)。
有什么想法可以看哪里吗?
编辑:盒子 A 通过运行一些 Perl 代码来处理请求,该代码向盒子 B 发出 HTTP 请求。
答案1
我能够确定我遇到的响应是由 Microsoft 的 ISA 防火墙生成的,与 Apache 甚至我们的设备都无关。我没有意识到我们的客户将我们的设备置于防火墙后面,甚至没有意识到防火墙有超时设置。
答案2
如果这是来自浏览器。我怀疑这是浏览器端超时。在某些浏览器中,它是可配置的,例如http://support.microsoft.com/kb/813827了解如何为 Internet Explorer 设置它。
一种解决方法是定期向浏览器发送一些数据(例如 HTML 注释),以保持连接处于活动状态。