« 開発速度 | Main | USBメモリでブートするUbuntu9.04 »

2009.05.30

mod_proxy_balancerの振り分けをhttpで

 Apache2.2以降は、mod_proxy_balancerやmod_proxy_ajpで簡単に複数台のTomcatと連携できるようになりました。

 これらのmoduleを組み合わせる場合は、ブラウザから送られてきたリクエストを、Proxyディレクティブでbalancerプロトコルに変換し、balancerプロトコル側でさらにajpに転送といった感じでの指定が一般的(参考:Apache2.2とTomcatでロードバランサー)。

 ただ、Apache/Tomcat間にFirewallが存在すると、時々ajpのエラーが発生することもあるようで(これ自体、そもそも何故エラーが発生しているのか、どういう回避方法があるのか不明なのですが)、試しに、ajpではなくhttpでApache⇒Tomcatへ転送してみました。

 すると・・・Redirectの部分で、見事に大ハマリ(苦笑)。リダイレクトされた場合、次のリクエストがBalancerMemberのところで指定したホスト名になってしまうため、PRGで画面遷移を行っているTeedaなどは実質使用不可に・・・。

BalancerMember http://localhost:8080/Test route=Tomcat1

 なんて感じで指定していると、リダイレクト時は、http://localhost:8080/でアクセスしようとするため、接続先不明と言うことに・・・(当然ながら、localhost:8080で待ち受けているものがあればそこに接続してしまいます)。

#そもそも設定方法を間違えているのかなぁ・・・。

|

« 開発速度 | Main | USBメモリでブートするUbuntu9.04 »

Java」カテゴリの記事

Comments

単に、ProxyPassReverseの設定が抜けていたことが原因でした(^^;

ProxyPass balancer://.... とあわせて、ProxyPassReverse http://..... の指定を追加することで問題なく動作するように(指定する場所に注意が必要ですが)。

Posted by: syo | 2009.06.05 at 11:24

Post a comment



(Not displayed with comment.)


Comments are moderated, and will not appear on this weblog until the author has approved them.



TrackBack

TrackBack URL for this entry:
http://app.cocolog-nifty.com/t/trackback/3959/45179870

Listed below are links to weblogs that reference mod_proxy_balancerの振り分けをhttpで:

« 開発速度 | Main | USBメモリでブートするUbuntu9.04 »