我使用的是 Apache 2.2.16 和 Tomcat 7.0.16。我有 3 个执行 3 个不同 war 文件的 Tomcat 实例。为了绕过请求,我用 mod_proxy 配置了 httpd。
3个Tomcat实例分别运行在8080、8090、8099,找到下面的httpd配置
ProxyPass /bor `http://localhost:8080/bor/
ProxyPass /borcafews/ `http://localhost:8090/borcafews/
ProxyPass /borechws/ `http://localhost:8099/borechws/
我间歇性地在 8090 和 8099 中收到 502 代理错误。所以我在 httpd.conf 中设置了以下变量
<Location /borcafews/>
SetEnv force-proxy-request-1.0 1
SetEnv proxy-nokeepalive 1
</Location>`
设置此配置后,borcafews 没有给出任何代理错误,但 borechws 间歇性地失败并出现 502-代理错误。
proxy: Error reading from remote server returned by/borechws/services/bor (20014)内部错误:proxy: error reading status line from remote server localhost:8099
请帮我解决这个问题。
最佳答案
我不确定这是不是您的 Apache 配置中的错误:您的 tomcat 应用程序完全有可能返回错误的答案。
使用 tcpdump 或 tshark 捕获相关端口上的流量。这将验证您的 tomcat 应用程序正在返回有效的 HTTP 响应。
关于apache - Mod_Proxy 502-间歇性代理错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12006860/