unhurried

コンピュータ関連ネタがほとんど、ときどき趣味も…

Apache mod_proxyとmod_aliasの共存

TomcatでWebアプリケーションを動かすときには、クライアントとのコネクション管理や静的コンテンツ配信、セキュリティー向上といったことを目的として、前段にApacheを置くことがあります。

Apache -- (AJP or HTTP) --> Tomcat

この構成での静的コンテンツ配信について、↓のようなディレクトリ構成を設定しようとしたときにはまったので、ポイントをメモしておきます。

  • /application/
  • /application/contents/
    • Apache上の静的コンテンツを配信する

Tomcatへの転送はmod_proxy、静的コンテンツの配信はmod_aliasを使いますが、注意しないといけないのは、 「ProxyよりもAliasの設定が優先されるのでProxyからAlias対象のパスを除外する必要がある」ということです。

conf設定例

ProxyPass /application/contents/ !
ProxyPass /application/ http://xx.xx.xx.xx:xx/application/ retry=5
ProxyPassReverse /application/ http://xx.xx.xx.xx:xx/application/

Alias /application/contents /xxx/xxx/xxx

参考

qwe.hatenablog.jp