2016年 12月 12日

h2o の proxy.reverse.url で localhost を指定していたら確率的に connection failure

リバースプロキシとして使っている h2o で

proxy.reverse.url: http://localhost:5001/

みたいに書いていたら確率的に connection failure がでて悩んだ。結局

proxy.reverse.url: http://127.0.0.1:5001/

で解決

なぜこうなったか

/etc/hosts に ::1 localhost のエントリ(IPv6)があり、h2o は解決したアドレスのうちからランダムに1つ選択するため。プロキシ先のバックエンドサーバは IPv6 を bind しておらず、::1 が選択された場合に接続に失敗していた。

メモ