我在 AWS 上有一个基础设施,昨天,它间歇性地显示一条消息,称 CloudFront 尝试与源建立连接,但无法建立。显然,但我认为与此无关,httpd.conf 指令 Timeout 和 ProxyTimeout 通过将其值设置为正常值 60 秒的 10 倍解决了该问题。
问题出在特定的 Web 环境中,该环境已经具有 connectiontimeout=180 timeout=180 属性:
ProxyPass ajp://192.168.70.35:8009/auctions 连接超时=180 超时=180 ProxyPassReverse ajp://192.168.70.35:8009/auctions
现在可能的解决方案是附加
超时 600
代理超时 600
到文件,但我意识到文件开头的 Timeout 属性已经设置为 60。
所以我的问题是,如果两个 Timeout 指令设置了不同的值,apache 如何读取此文件?它是否读取第一个值但保留最后一个值并以这种方式运行?
我当然知道它应该只有一个指令,但我们正在调查问题的根本原因。
谢谢。
答案1
Timeout 和 ProxyTimeout 是不同的指令。ProxyTimeout 适用于使用 apache 将请求转发到另一台服务器/应用程序的情况。它告诉 apache 等待第二台服务器响应的时间。
https://httpd.apache.org/docs/2.4/mod/mod_proxy.html#proxytimeout
这听起来不像适用于您的设置,超时是您唯一需要更改的。