【问题标题】:Apache+Tomcat6+Struts2 redirect problemApache+Tomcat6+Struts2 重定向问题
【发布时间】:2010-01-09 16:47:27
【问题描述】:

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

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

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

如何使这些网址相似?

【问题讨论】:

    标签: apache struts2 redirect tomcat6


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2011-03-08
        • 1970-01-01
        • 1970-01-01
        • 2019-09-25
        • 2010-11-05
        • 2011-08-02
        • 1970-01-01
        • 2015-02-15
        • 2014-02-23
        相关资源
        最近更新 更多