Apache + Tomcat6 + Struts2重定向问题

时间:2010-01-09 16:47:28

标签: apache struts2 redirect tomcat6

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

当我浏览网站上的链接时,我会看到很好的网址,例如www.mysite.com/order

但是当struts将我重定向到任何地址时,网址就像www.mysite.com:8080/MyApp/order

如何将此网址设为simmilar?

2 个答案:

答案 0 :(得分:1)

我使用Apache和Tomcat之间的AJP connector来实现。这是我在配置文件中使用的片段:

Apache配置的一部分($ APACHE_DIR / sites-available / default):

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" />

答案 1 :(得分:0)

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