リバースプロキシを使用する際の、proxy_ajp.conf の設定方法をまとめておきます。ProxyPass と ProxyPassReverse について注意点を説明します。
1.1つめのポイントは、「リバースプロキシしたくないURLパスの指示の仕方」。下記のように、パスを指定して、”!”を記述する。
ProxyPass /server-status !
2.2つめのポイントは、「ファイルの上の行からアクセスURLパスが当てはまるか見ていき、当てはまったら、その行での指示に従って動作する」ということ。
下記(例1)のように記述すると、例えば http://www.goofoo.jp/server-status にアクセスしたときにもバックエンドサーバにリバースプロキシされてしまう(先に、/ に当てはまってしまうから)。
(例1)
ProxyPass / ajp://localhost:8009/ ProxyPassReverse / ajp://localhost:8009/ ProxyPass /server-status ! ProxyPass /server-info !
要するに、記述する「順番」が大事。
/server-status や /server-info へのアクセスはバックエンドサーバにリバースプロキシせずに、フロントエンドのhttpサーバで処理したい場合には下記(例2)のように記述する。
(例2)
ProxyPass /server-status ! ProxyPass /server-info ! ProxyPass / ajp://localhost:8009/ ProxyPassReverse / ajp://localhost:8009/