新規でサーバーを構築する機会があったのでApache2.4でリバースプロキシを設定しました。
Apache2.2の設定をそのまま使ってみるものの、動作せず5時間ほどハマり、結果的に「/」の有無で解決しました。
他の人がこれにハマらないように記事にしておきます…。
設定の比較
Apache2.2の設定
<Location "/ContextRoot">
ProxyPass http://localhost:8080/ContextRoot/
ProxyPassReverse http://xxxxx.com/ContextRoot
</Location>
Apache2.4の設定
<Location "/ContextRoot">
ProxyPass http://localhost:8080/ContextRoot
ProxyPassReverse http://xxxxx.com/ContextRoot
</Location>
相違点
Apache2.4のProxyPass
の最後に「/」を付けてません。
これがあると、ポート8080を使う通常の処理は問題ないのですが、cssやjsなどの静的コンテンツが読み込まれません。
まとめ
リバースプロキシの設定は、バージョンアップしても基本的に使えますが、少しの変更が必要になることがあるので注意が必要です。
Apache2.4を触ってみましたが、最初に設定する項目が減ってて楽でした。
例えば、バーチャルホストだとNameVirtualHost
の宣言は必要ありませんでした。
ディレクトリ構造がかなり変わって違和感ありありです。
yumでインストールした場合、/opt/rh/httpd24/root/
がルートになります。
サーバ構築の実際がわかる Apache[実践]運用/管理 (Software Design plus)
- 作者: 鶴長鎮一
- 出版社/メーカー: 技術評論社
- 発売日: 2012/03/23
- メディア: 単行本(ソフトカバー)
- 購入: 6人 クリック: 109回
- この商品を含むブログ (14件) を見る