我在 DMZ 中使用 apache 2.2.4 作为反向代理服务器。当两个 BalancerMember 服务器启动时,Proxy Balancer 似乎工作得很好。但如果我关闭其中一个,每次加载页面时,我的网站大约需要 30-45 秒才能加载任何内容。这是我的配置:
ServerName mywebsite.com
ProxyRequests Off
<Proxy *>
Order deny, allow
Allow from all
</Proxy>
<Proxy balancer://mycluster>
BalancerMember http://10.10.10.10:80/outside loadfactor=1 retry=60
BalancerMember http://10.10.10.11:80/outside loadfactor=1 retry=60
</Proxy>
ProxyPass /outside balancer://mycluster/
ProxyPassReverse /outside balancer://mycluster/
ProxyPass /balancer-manager !
<Location /balancer-manager>
SetHandler balancer-manager
</Location>
该服务器充当位于其后面的 REST 服务的反向代理。当我加载 Web 应用程序时,它会多次调用 REST 服务,所以我不知道这是否也会导致速度缓慢,因为代理会同时收到许多请求。
答案1
将其设置ProxyTimeout
为几秒钟 - 发生的情况是,它在那里尝试连接关闭的后端很长时间,而不会超时。
设置类似的内容ProxyTimeout 3
会导致连接更快失败,那么您的retry=60
设置将导致关闭的服务器在下一分钟内不再被使用。