我使用 Apache Web 服务器 2.4 通过 proxypass 指令将传入的 HTTP 请求代理到我们的后端服务器。我还通过 Apache 传递来自后端服务器的传出请求,再次使用 proxypass,例如
< Location /outgoingrequest/ >
ProxyPass http://foobar.com/ retry=0 timeout=40 ttl=60
ProxyPassReverse http://foobar.com/
< /Location >
这正常工作正常,我可以在 Apache 日志中看到所有传入和传出的请求。然而,foobar.com 托管在 AWS 云中,其 IP 地址偶尔会发生变化,从而导致所有传出请求失败。 DNS 查找显示了新的 IP 地址,因此显然 mod-proxy 正在缓存旧的 IP 地址。我已添加 ttl=60,但传出请求持续失败数小时。
我是否缺少某些东西,或者我应该以完全不同的方式来做这件事?
您是否尝试使用以下命令完全禁用 Apache 连接池:
ProxyPass http://foobar.com/ retry=0 disablereuse=On
文档 http://httpd.apache.org/docs/2.4/mod/mod_proxy.html says:
当后端本身可能处于循环 DNS 下时,这在各种情况下都有帮助 (..)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)