我在80端口上使用apache,在端口8080上转发tomcat6上的所有请求。在我的应用程序中,我使用的是struts2框架。在tomcat中我使用从ROOT应用程序重定向到我的应用程序“MyApp”。
当我浏览网站上的链接时,我会看到很好的网址,例如www.mysite.com/order
但是当struts将我重定向到任何地址时,网址就像www.mysite.com:8080/MyApp/order
如何将此网址设为simmilar?
答案 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重定向就没有问题了。