2014-10-22 86 views

回答

1

有关更多详细信息,请参阅我的答案。

https://stackoverflow.com/a/26305876/1935128

但基本上,你需要mod_proxy,也许mod_proxy_connect在Apache启用了基于Apache侧适当virtualhost配置。而在Tomcat的方面,它可以工作,没有任何修改,但你应该添加proxyName="subdomain.domain.comproxyPort="80"scheme="http"

的Tomcat连接器:

<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" 
    <!-- This is the important part --> 
    proxyName="subdomain.domain.com" proxyPort="80"/> 

Apache的虚拟主机:

<VirtualHost subdomain.mydomain.com:80> 
    ServerName   http://subdomain.mydomain.com 

    # I think these two are optional, depending on the app your run on Tomcat 
    #ProxyRequests   Off 
    #ProxyPreserveHost  On 

    ProxyPass    /  http://your.tomcat.server:8080/MYAPP/ 
    ProxyPassReverse  /  http://your.tomcat.server:8080/MYAPP/ 

    <Proxy *> 
     Order deny,allow 
     Allow from all 
    </Proxy> 
</VirtualHost> 
+0

到目前为止,谢谢你,但我有一个问题。 tomcat 8 web应用程序的路径就像subdomain.domain:8080/MYAPP,所以如果我在浏览器中输入subdomain.domain.com,我会重定向到tomcat服务器的主站点,但是我想让root子域.domain.com指向原始的tomcat URL,而不在浏览器中显示此ULR。你能再帮我一次吗? – 2014-10-22 13:42:53

+0

我的不好,没有正确地读你的问题。你必须改变'ProxyPass'和'ProxyPassReverse'来添加你的路径。例如:'ProxyPass/http://your.tomcat.server:8080/MYAPP /'。我不确定最后一个/尽管如此,试着用'http://your.tomcat.server:8080/MYAPP /'和'http://your.tomcat.server:8080/MYAPP''告诉我哪一个是对的,我会按照顺序编辑我的答案。 – Johnride 2014-10-22 14:01:01

+0

非常感谢。它是http://your.tomcat.server:8080/MYAPP /。现在它工作正常。 – 2014-10-22 14:10:55