使用mod_proxy在Apache2后面的域上托管Tomcat7 WebApp

时间:2014-09-19 13:28:21

标签: java apache2 tomcat7

我在运行Linode的Tomcat7上安装了一个带有上下文/sampleApp的应用程序。我也安装了Apache服务器。

我已完成如下配置,通过该配置,我可以将请求从www.example.com重定向到tomcat的根目录。但是,只要有人请求/sampleApp这样的域名,我就希望能够提供www.example.com

这是我到目前为止所做的配置:

在Apache2中包含并启用虚拟主机www.example.com

<VirtualHost *:80>

  ServerName www.example.com
  ServerAlias example.com

  ProxyRequests Off
  ProxyPreserveHost On

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

  ProxyPass / http://localhost:8080/
  ProxyPassReverse / http://www.example.com/
</VirtualHost>

并在Tomcat7 server.xml中添加了代理支持

<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" proxyName="www.example.com" 
                proxyPort="80"/>

我也搜索了SO和ServerFault以及Google,但是找不到对我有用的东西。

1 个答案:

答案 0 :(得分:0)

您是否在/ etc / hosts中添加了此条目?

127.0.0.1 www.example.com

如果你试过这个:

ProxyPass / http://www.example.com:8080/sampleApp
ProxyPassReverse / http://www.example.com:8080/sampleApp

否则:

ProxyPass / http://localhost:8080/sampleApp
ProxyPassReverse / http://localhost:8080/sampleApp

并从server.xml中删除 proxyPort

ps:记得重新启动tomcat和apache2