mod_jkを使用してApacheサーバー経由でTomcatのサブドメインをリダイレクトする
-
06-07-2019 - |
質問
Tomcat(6.0.20)とApache Serverセットアップ(2.2)があり、すべてのサブドメインをドメイン上の特定のコンテキストにリダイレクトしようとしています。
e.g.、s.example.comからwww.example.comへのリダイレクト
Apacheは mod_jk
を介してリクエストを転送しています( mod_proxy
を試しましたが、絶対URLではないのでcssとjsは読み込まれませんでした)。
現在の設定:
httpd.conf:
Include C:/apache-tomcat-6.0.20/conf/auto/mod_jk.conf
RewriteEngine On
<VirtualHost *:80>
ServerName www.example.co.za
ServerAlias www.example.co.za example.co.za *.example.co.za
RewriteEngine on
RewriteLog "C:/Program Files/Apache Software Foundation/Apache2.2/logs/rewrite.log"
RewriteLogLevel 3
RewriteCond %{HTTP_HOST} example\.co\.za.*$ [NC]
RewriteRule ^(.*)$ http://www.example.co.za [L]
JkMount /* worker1
</VirtualHost>
JkMount /* worker1
server.xml:
<Host name="www.example.co.za" appBase="hosts/example"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Valve className="org.apache.catalina.valves.AccessLogValve"
directory="C:/apache-tomcat-6.0.20/logs" prefix="localhost_access_log."
suffix=".txt" pattern="common" resolveHosts="false"/>
<Context path="" docBase="Property"/>
<Alias>*.example.co.za</Alias>
</Host>
ww.example.comのリダイレクトは、ノンストップリダイレクトループに入ります。
これは、ユーザーがTomcatマネージャーやサーバー上の他のアプリ(つまり、hudson)にアクセスできるため、セキュリティの観点から非常に重要です。
解決
このルールを試してください:
RewriteCond %{HTTP_HOST} !^www\.example\.co\.za$
RewriteRule ^ http://www.example.co.za [L]
要求されたURIを保持する場合:
RewriteCond %{HTTP_HOST} !^www\.example\.co\.za$
RewriteRule ^ http://www.example.co.za%{REQUEST_URI} [L]
さらに、301リダイレクトを使用することをお勧めします。そのため、 [L]
を [L、R = 301]
に置き換えて、 R
フラグに値301を追加します。
所属していません StackOverflow