【问题标题】:Redirect subdomain on tomcat through apache server with mod_jk使用 mod_jk 通过 apache 服务器重定向 tomcat 上的子域
【发布时间】:2010-11-15 19:18:03
【问题描述】:

我有一个 Tomcat (6.0.20) 和 Apache Server 设置 (2.2),我正在尝试将所有子域重定向到我域上的特定上下文。

例如,s.example.com 重定向到 www.example.com

Apache 正在通过mod_jk 转发请求(我试过mod_proxy,但css 和js 没有加载,因为它不是绝对的url)。

我目前的设置:

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

服务器.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)。

【问题讨论】:

    标签: tomcat mod-rewrite apache2 mod-jk


    【解决方案1】:

    试试这个规则:

    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。

    【讨论】:

      猜你喜欢
      • 2021-04-12
      • 1970-01-01
      • 2012-04-29
      • 2012-06-11
      • 2012-01-14
      • 1970-01-01
      • 1970-01-01
      • 2013-11-15
      • 1970-01-01
      相关资源
      最近更新 更多