【问题标题】:Apache + Tomcat + Struts 2 configurationApache + Tomcat + Struts 2 配置
【发布时间】:2011-09-09 09:28:19
【问题描述】:

我想将我的网站配置为部分使用 Apache,部分使用 Tomcat。让我解释。当用户导航到我的域时(让我们将我的域称为“abc”).. 所以 abc.com 那么我希望 Apache 提供 index.html 页面。从那里,如果他点击任何静态页面,那么 Apache 应该提供该页面。

但是如果他点击了一个动态链接,比如一个会员需要登录的页面,那么我会用Tomcat来接管。

部署细节:
我的 tomcat web 应用程序已部署为 ROOT.war。所以我可以通过访问 abc.com:8080/memberlogon 在 tomcat 中访问我的 webapp

在我的 httpd.conf 中,我有如下一行,现在将所有内容转发到 tomcat。

<Location />
  ProxyPass ajp://localhost:8009/
</Location>

如何仅将 struts2 相关的 URL 转发到 tomcat? 我使用瓷砖,所以我不访问任何底层 jsp。

如果我能提供任何可以提供帮助的其他信息,请告诉我

【问题讨论】:

    标签: apache tomcat struts2


    【解决方案1】:

    好吧,我不确定 mod_proxy 是如何处理这个问题的,但是使用 mod_jk 可以轻松完成。我的公司不使用 mod 代理,因为它存在一些无法通过 PCI 合规性测试的安全问题。

    这可以通过根据您希望 tomcat 使用 mod_jk 提供的扩展名在您的 httpd.conf 文件中设置开关来完成。

    例如,要让 tomcat 处理 jsp 文件,您需要声明:

    # send all requests ending in .jsp to worker1
    JkMount /*.jsp worker1
    

    并确保 apache 提供所有静态或 html 文件,例如:

    # do not send requests ending with .html to worker1
    JkUnMount /*.html worker1
    

    这里有几个站点可以帮助您开始配置选项:

    Quick Start HowTo

    Apache HowTo

    The Apache Tomcat Connector - Reference Guide

    How do I connect Apache to Tomcat using the mod_jk module?

    【讨论】:

    • 感谢罗素的回复。我浏览了链接,我想我明白需要做什么。我开始朝那个方向发展,然后开始阅读其他文章。显然,tomcat 本身在加载静态内容方面还不错。对于小型应用程序,没有大的区别。因此想到让tomcat加载所有内容并让proxypass将所有内容转发给tomcat。
      我想知道,您是否知道tomcat呈现的页面是否被搜索引擎机器人索引?
    • 没问题,我又不是很熟悉 proxypass 的功能,但是我在我们的服务器上使用 mod_jk 的 apache+tomcat 没有 SEO 问题,这是一个透明的配置,因为机器人不会t 关心哪个服务器正在呈现页面(使用 proxypass 应该是相同的)。在 tomcat robots.txt 上快速谷歌搜索会出现一些结果,例如:beaconhill.com/solutions/kb/tomcat/…
    猜你喜欢
    • 1970-01-01
    • 2011-12-09
    • 1970-01-01
    • 1970-01-01
    • 2018-08-12
    • 2017-08-30
    • 1970-01-01
    • 2012-09-29
    • 2011-10-02
    相关资源
    最近更新 更多