我正在使用mod_proxy_balancer來管理後端服務器的故障轉移。後端服務器可能會返回錯誤代碼,而不是在其他後端服務發生故障時(例如NFS)超時,我們希望這些服務器也被標記爲失敗節點。因此我們正在使用failonstatus指令。httpd mod_proxy_balancer故障轉移failonstatus - 透明轉換
<Proxy balancer://avatar>
ProxySet failonstatus=503
BalancerMember http://active/ retry=30
# the hot standby
BalancerMember http://standby/ status=+H retry=0
</Proxy>
目前故障轉移工作完美,只有一個小故障。當活動節點失敗時,用戶將收到503錯誤,並從備用服務器接管的下一個請求中獲取。
我不希望即使一個請求失敗。不能mod_proxy故障轉移出來往客戶端返回一個錯誤?如果主動節點失敗,我希望mod_proxy爲同一請求嘗試備用,而不僅僅是從後續請求中獲取!
我對你們所說的httpd郵件列表上的開發,他證實了此功能尚未在當前代碼庫實現了一個新的模塊。 mod_proxy_balancer中的狀態機不能重試HTTP錯誤,但只能在連接錯誤的情況下重試。我試圖自己實現它,但它太複雜了,我可以很容易地使代碼庫變得不穩定。所以我放棄了... – Praveen