
我在 DMZ 中使用 apache 2.2.4 作為反向代理伺服器。當兩台 BalancerMember 伺服器啟動時,代理平衡器似乎運作得很好。但如果我關閉一個,每次加載頁面時,大約需要 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
將 a 設定ProxyTimeout
為幾秒鐘 - 發生的情況是它在那裡嘗試連接到下游後端很長一段時間,而不是超時。
設定類似的內容ProxyTimeout 3
會導致連線更快失敗,然後您的retry=60
設定將導致下一分鐘不再使用已關閉的伺服器。