Apache和Tomcat8配置代理
我有一个在Tomcat8中运行的web应用程序。我可以通过打开来访问此应用程序。 现在我只想输入以打开此应用程序Apache和Tomcat8配置代理,apache,tomcat,proxy,Apache,Tomcat,Proxy,我有一个在Tomcat8中运行的web应用程序。我可以通过打开来访问此应用程序。 现在我只想输入以打开此应用程序 我必须如何配置Apache 2或Tomcat 8才能实现这一点?有关更多详细信息,请参阅我的答案 但基本上,您需要在apache上启用mod_proxy,并且可能需要在apache端使用适当的virtualhost配置启用mod_proxy\u connect。在Tomcat方面,它可以不做任何修改就工作,但是您应该添加proxyName=“subdomain.domain.com
我必须如何配置Apache 2或Tomcat 8才能实现这一点?有关更多详细信息,请参阅我的答案 但基本上,您需要在apache上启用
mod_proxy
,并且可能需要在apache端使用适当的virtualhost
配置启用mod_proxy\u connect
。在Tomcat方面,它可以不做任何修改就工作,但是您应该添加proxyName=“subdomain.domain.com
,proxyPort=“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"/>
到目前为止谢谢您,但我有一个问题。tomcat 8 web应用程序的路径类似于subdomain.domain:8080/MYAPP,因此如果我在浏览器中输入subdomain.domain.com,我会被重定向到tomcat服务器的主站点,但我想让根subdomain.domain.com指向原始tomcat URL,而不在你能再帮我一次吗?我的错,没有正确阅读你的问题。你必须同时更改ProxyPass
和ProxyPassReverse
来添加你的路径。例如:ProxyPass/http://your.tomcat.server:8080/MYAPP/
。我不确定最后一个/但是,请尝试使用这两个http://your.tomcat.server:8080/MYAPP/
和http://your.tomcat.server:8080/MYAPP“
,告诉我哪一个是正确的,我会相应地编辑我的答案。非常感谢。是的。现在它工作正常。啊……它工作不正常。在我的应用程序中,我有一些函数,它们不再工作了。我必须使用类似ajp的东西吗?没有ajp与此无关。可能是缺少/。是否尝试使用http://your.tomcat.server:8080/MYAPP/
?我用以下答案解决了我的问题:
<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>