- PR -

Apache2.2のmod_proxy_ajpの設定について

1
投稿者投稿内容
SHR
ベテラン
会議室デビュー日: 2006/06/15
投稿数: 99
投稿日時: 2006-08-11 12:52
お世話になります。

■現状
Apache2.0.58 + mod_jk にてtomcatと連携をしております。
現在使用しているwarが開発中の物で、Ver番号をファイル名としております。
warのファイル名は test000.war 〜 test099.war を予定しており、
追加の度にApacheの再起動をしたくない為、設定ファイル中に
JkMount /test0*/* ajp13
と記載する事でwarを追加するだけで再起動なしの運用を行っております。

■困った事
Apache2.2にmod_proxy_ajpが実装されたので、テストを行いました。
Apache2.2.3を使用し、コンパイル時のオプションは
./configure --prefix=/usr/local/apache2.2 --enable-proxy --enable-proxy-ajp
で、特にエラーもなくインストールが出来ました。
設定ファイル中に
> <Location /test025/>
> ProxyPass ajp://localhost:8009/test025/
> </Location>
と記載し、test025.warに正常にアクセスできる事を確認しました。

ではワイルドカードを…と思い、
> <Location /test0*/>
と設定したところ、どうやらワイルドカード(or 正規表現)が有効になっていないようです。
※http://localhost/test0*/ でアクセスすると表示される為、単に*という文字として扱われている模様

100個のLocationとProxyPassの設定は避けたく。
何か良い解決策はないのでしょうか?

お手数ですがよろしくお願いします。
しましま
常連さん
会議室デビュー日: 2005/01/08
投稿数: 41
投稿日時: 2006-08-12 01:17
mod_rewriteと組み合わせれば、解決すると思います。正規表現のグループ参照を使ってURLを作れるので、httpd.confに

RewriteEngine on
RewriteRule ^/test0([0-9][0-9])/(.*) ajp://localhost:8009/test0$1/$2 [P,L]

と書けばよろしいかと。
SHR
ベテラン
会議室デビュー日: 2006/06/15
投稿数: 99
投稿日時: 2006-08-12 12:45
>しましまさん
おぉ、なるほど!
そういう方法がありましたか。
全然思い付かなかったです。

ありがとうございました!
1

スキルアップ/キャリアアップ(JOB@IT)