- - PR -
Apacheのmod_proxy設定について
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2007-11-02 14:51
お世話になります。
Apacheのmod_proxyを利用して リバースプロキシーの構築を検討しています。 @Client --- AApache + mod_proxy --- BWebサービス 上記の構成で全ての通信路がHTTPの場合は、リバースプロキシーとして 期待する動作を確認できたのですが、@とAの通信はSSLが必須で AとBはHTTPもしくは、SSLのどちらかにする必要があります。 そこで、それらの通信の組み合わせでもリバースプロキシーとして 期待する動作を確認できるかどうかご教示ねがえれば幸いです。 また、Webサービスはグループウェアのサイボウズを検討していますが、 単純に全てのリクエストをmod_proxyを経由して サイボウズに飛ばすというのができました。 ちなみに、httpd.confは以下に設定しています。 ----- ProxyPass / http://sp.jp/ ProxyPassReverse / http://sp.jp/ ----- 次に、サイボウズのログイン画面を隠蔽したいという要件があるため ログイン画面のURLの時は、proxy上の内部のCGIに 飛ばしたいのですがうまくいきません・・・。 サイボウズのログイン画面URLは http://10.225.16.xxx/cgi-bin/cbag/ag.exe? で、その他の業務画面のURLは http://10.225.16.xxx/cgi-bin/cbag/ag.exe?page=Schedule....... となっていて、ag.exeまでが変わらないので、 全てのリクエストがCGIに飛ばされてしまうようです。 ちなみに、httpd.confは以下に設定しています。 ----- ProxyPass /cgi-bin/cbag/ag.exe http://localhost/cgi-bin/printenv ProxyPassReverse /cgi-bin/cbag/ag.exe http://localhost/cgi-bin/printenv ----- そこで、クエリーがない時はCGIをキックし、 クエリーがある時はリバースプロキシーを行うか、 URL以外のそれらを切り分けられるのであればOKかもしれませんが 具体的な方法がわからず、前に進めない状況です。 こちらについても何かアドバイスなどいただければ幸いです。 よろしくお願いします。 | ||||||||
|
投稿日時: 2007-11-02 20:19
こんばんは。
であれば、mod_ssl もロードして、SSLを有効にすれば良いと思います。 (2),(3)間のSSL通信には、リバースプロキシとしては対応する機能がなかったと思います。
mod_proxy単独ではなく、mod_rewrite も併用して、条件を設定すれば良いと思います。 その場合は、ProxyPass等ではなく、RewriteRuleを\[P\]フラグとともに使用することになります。 で、リクエストされた URL に、? 以降が付いているかどうかは、RewriteCond で、%{QUERY_STRING} あたりを条件として使えばいけそうに思います。 mod_rewrite の機能をまずはご覧になってはいかがでしょうか。 | ||||||||
|
投稿日時: 2007-11-06 20:39
お世話になります。
ご回答ありがとうございました。 ご教示いただいた情報をもとに試してみたいと思います。 ですが、昨夜から検証用のOSが起動しなくなり、 試行錯誤の末、OSの再インストールを行う必要が出てしまいました。 結果につきましては、別途ご報告させていただきます。 よろしくお願いします。 | ||||||||
|
投稿日時: 2007-11-30 13:32
お世話になります。
mod_rewrite を併用して、条件を記述する事で 期待していた動作が実現できました。 ありがとうございました。 |
1