2010-01-09 92 views
1

我在80端口上使用apache,转发端口8080上的tomcat6上的所有请求。在我的应用程序中,我使用的是struts2框架。在tomcat中,我使用ROOT应用程序重定向到我的应用程序“MyApp”。Apache + Tomcat6 + Struts2重定向问题

当我走在我的网站上的链接我看到好的网址,像www.mysite.com/order

但是当支柱重定向我到任何地方的URL采取像www.mysite.com:8080/MyApp/形式订单

如何使这个网址simmilar?

回答

1

我在Apache和Tomcat之间使用AJP connector。下面是我在我的配置文件使用一个片段:

Apache的配置($ APACHE_DIR /网站可用/默认)的部分:

NameVirtualHost *:80 
NameVirtualHost *:443 

LoadModule jk_module /usr/lib/apache2/modules/mod_jk.so 
JkWorkersFile /etc/apache2/workers.conf 
JkLogFile  /var/log/apache2/mod_jk.log 
JkLogLevel info 
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] " 

<VirtualHost *:80> 
    ServerName brasee.com 
    ServerAlias www.brasee.com 
    JkMount /* ajp13secured 
</VirtualHost> 

Tomcat的配置(CONF/Server的一部分。 xml):

<Connector port="8080" protocol="HTTP/1.1" 
      connectionTimeout="20000" 
      redirectPort="8443" /> 
<!-- Define an AJP 1.3 Connector on port 8008 --> 
<Connector port="8008" protocol="AJP/1.3" redirectPort="8080" /> 
0

你是如何做转发?正确的方法是使用mod_proxy将Apache设置为反向代理。有关说明,请参阅here。这样Struts重定向就没有问题了。