Apache と Tomcat の連携は mod_proxy_ajp を使うと簡単に実現できます。
例えば、<Location> ディレクティブと組み合わせて以下のような設定にすると、Apache へのアクセスを全て Tomcat に向けることができます。
上記の例は設定がシンプルなだけでなく、Tomcat 側に新しいアプリを追加したような場合でもイチイチ Apache の設定を変更する必要がないので便利なのですが、Apache 側に置いてある静的なコンテンツを返したいときや、 manager や host-manager のような管理用の WebApp を Apache からアクセスさせたくないような場合などに、一部の Path だけを ProxyPass の対象から除外したいという場合があります。
これについていろいろ調べてみたところ、以下のように書くと除外パスが設定できるようです(ここでは manager と host-manager を除外しています)。
ちょっとわかりづらいですが、Apache で Location を複数書いた場合の扱いについては「セクションのマージ方法」に記載があるとおり、設定ファイルに現れた順番に処理(上書き)されるため、除外するパスは <Location / > の定義よりも後に書く必要があります。ProxyPass しない場合には 「!」 だけを書けば良いというのは初めて知りました。
このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/8818
除外するパスは <Location / > の定義よりも後に書く必要があります。
除外するパスは <Location / > の定義よりも"前"の間違いでは?
実際に試してみれば明確に分かりますが、書いてある通りで間違いありません。
詳細についてはリンク先の Apache のドキュメントを読んでみてください。
コメントは承認後の表示となります。
OpenIDでログインすると、即時に公開されます。
OpenID を使ってログインすることができます。