最近、Tomcat6 を使用するクライアント用の Java アプリケーションをインストールする必要がありました。アプリケーションはドメインのルートから実行する必要があったため、apache2 と mod_proxy_ajp もインストールして、これを機能させるためのプロキシをセットアップしました。プロキシルートではなく、サーブレットの元のパスを含むロケーションヘッダーを処理するために、少しマッサージとグーグル検索を行った後。私はこれを思いつきました。
<VirtualHost *:80>
ServerName myclientssite.com
ErrorLog /var/log/apache2/ajp.error.log
CustomLog /var/log/apache2/ajp.log combined
<Proxy *>
AddDefaultCharset Off
Order deny,allow
Allow from all
</Proxy>
ProxyRequests Off
ProxyPass / ajp://localhost:8009/appname/
ProxyPassReverse / http://localhost:8080/appname/
ProxyPassReverseCookiePath /appname/ /
Header edit Location ^([^/]*//[^/]*)?/appname/(.*)$ $1/$2
</VirtualHost>
私の質問は、これが最善の解決策です。mod_headers がないと思われ、Header 編集行とヘッダーには通常、appname サブディレクトリが含まれます。