1

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

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

但是,当 struts 将我重定向到任何地方时,URL 采用类似 www.mysite.com:8080/MyApp/order 的形式

如何使此 URL 相似?

4

2 回答 2

1

我使用Apache 和 Tomcat 之间的AJP 连接器来完成。这是我在配置文件中使用的片段:

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" />
于 2010-01-09T16:57:17.143 回答
0

你是怎么转发的?正确的方法是使用 mod_proxy 将 Apache 设置为反向代理。有关说明,请参见此处。这样,Struts 重定向就不会出现问题。

于 2010-01-09T16:51:49.673 回答