Apache+Tomcat6+Struts2 重定向问题

发布于 2024-08-17 16:04:18 字数 281 浏览 8 评论 0原文

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

当我在网站上的链接上行走时,我会看到像 www.mysite.com/order 这样的好 URL,

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

如何使这个 URL 相似?

I'm using apache on 80 port, that forwarding all requests on tomcat6 on port 8080. In my application I'm using struts2 framework. In tomcat I'm using redirect from ROOT application to my application "MyApp".

When I walk on the links on my site I see good URLs like www.mysite.com/order

But when struts redirects me anywhere URLs take the form like www.mysite.com:8080/MyApp/order

How to make this URLs simmilar?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

叹梦 2024-08-24 16:04:18

我使用 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" />

I do it using the AJP connector between Apache and Tomcat. Here's a snippet of what I use in my config files:

Part of Apache's configuration ($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>

Part of Tomcat's configuration (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" />
抠脚大汉 2024-08-24 16:04:18

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

How are you doing the forwarding? The correct way will be to set up Apache as reverse proxy using mod_proxy. See here for instructions. This way there will be no problem with Struts redirects.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文