gpt4 book ai didi

tomcat - 使用 mod_jk 通过 apache 服务器重定向 tomcat 上的子域

转载 作者:行者123 更新时间:2023-11-28 23:09:05 24 4
gpt4 key购买 nike

我有一个 Tomcat (6.0.20) 和 Apache 服务器设置 (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 的重定向将进入一个不间断的重定向循环。

从安全的角度来看,这非常重要,因为用户可以访问服务器(即 hudson)上的 tomcat 管理器和其他应用程序。

最佳答案

试试这个规则:

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],添加值为 301 的 R 标志。

关于tomcat - 使用 mod_jk 通过 apache 服务器重定向 tomcat 上的子域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1212603/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com