Apache和Tomcat8配置代理

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

我有一个在Tomcat8中运行的web应用程序。我可以通过打开来访问此应用程序。 现在我只想输入以打开此应用程序


我必须如何配置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>