缓存的 Apache proxypass IP 地址

标签 apache caching ip proxypass

我正在使用 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

Documentation说:

This helps in various situations (..) when backends themselves may be under round-robin DNS.

关于缓存的 Apache proxypass IP 地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33798653/

相关文章:

apache - 如果通过别名目录访问网站,则 URL 重写不起作用

symfony - 为什么使用 Varnish 而不是 Symfony 代理?

dns - DNS 更改后 Nginx 出现问题

ruby-on-rails - Rails - 如何获取访问者的IP地址?

apache - WAMP/Xampp Apache 服务器未启动

apache - apache上的SSL续订证书继续使用旧证书文件

php - 在网络服务器上处理上传的文件而不先在本地存储?

php - 在搜索中使用 mysql 和 php 处理大量数据

c - 我是否使用位移正确地提取了这些字段? (标签、索引、偏移量)

ruby-on-rails - Ruby on Rails : is IP port 3000 locked out for external access, on Rails 4.2?