Apache2.2.17
Apache2.2.17がリリースされていました。どんな変更点があるのかとCHANGESを見ていると、こんな新機能が。
*) Proxy balancer: support setting error status according to HTTP response code from a backend. PR 48939. [Daniel Ruggeri <DRuggeri primary.net>]
おぅ、これはうれしい。
いままでApacheのmod_proxyでのbalancerだと、HTTPでつながらなくなるとバックエンドを切り離していました。バックエンドが500(Internal Server Error)とか、503とかかえしてきたときは、HTTP的にはつながっていると判断してそのままフロントエンドへエラーをかえしていたんですね。
すでにパッチとしてはでていたみたい(48939ってのがそう) で、こんバージョンから本体へ組み込まれたようです。
こんな風に書くみたいです。
<Proxy balancer://cluster/> BalancerMember http://192.168.130.1:8080 timeout=9 retry=60 BalancerMember http://192.168.130.1:9080 timeout=9 retry=60 BalancerMember http://192.168.130.1:18080 timeout=9 retry=60 ProxySet lbmethod=byrequests nofailover=Off failonstatus=500,503 (略)
failonstatusにHTTPのコードを列挙。ちょっと賢くなった。