如何从 Apache 重定向到 Tomcat?
Posted
技术标签:
【中文标题】如何从 Apache 重定向到 Tomcat?【英文标题】:How do I redirect from Apache to Tomcat? 【发布时间】:2010-10-10 20:46:49 【问题描述】:我正在开发我的第一个 Java 网站。我在端口 8080 上运行 Apache Tomcat,在端口 80 上运行 Apache HTTPD。我可以访问该站点的当前 URL 是(例如)123.4.5.6:8080。在将域指向新 IP 之前,我想从 URL 中删除端口号。
目前我只将 Apache 用于 phpmyadmin,但是一旦我发现 mod_jk
等,我计划将它用于 CGI 脚本和其他东西......所以我不想将 Tomcat 的端口更改为 80 和关闭 Apache。
我希望这是有道理的。
【问题讨论】:
【参考方案1】:您应该使用此链接配置您的 tomcat。对于Tomcat 7 http://tomcat.apache.org/tomcat-7.0-doc/proxy-howto.html
【讨论】:
【参考方案2】:以上两个有用的答案都很好,但我更喜欢mod_proxy
而不是mod_jk
。与mod_jk
不同,mod_proxy 无需额外安装,而且设置要容易得多。 mod_jk
让您可以更好地控制 Tomcat 参数的详细调整,但如果您只是想要从 Apache 到 Tomcat 的简单重定向,mod_proxy
是不错的选择。
【讨论】:
【参考方案3】:如果您希望由 Apache 而不是 Tomcat 提供静态内容,您应该使用 mod_jk :http://tomcat.apache.org/tomcat-6.0-doc/proxy-howto.html
那么 SSL - 如果我们希望 Apache 处理 HTTPS,因为它比 java/Tomcat 更快?
【讨论】:
【参考方案4】:正如您已经提到的,完成此操作的常用方法是使用 Apache HTTPD 中的 mod_jk
转发您希望 Tomcat 处理的内容。
tomcat.apache.org 上有一个Quick HowTo。您需要执行以下操作:
将mod_jk.so
复制到 Apache HTTPD 的相应模块目录中。
创建配置文件workers.properties
在 Apache HTTPD 的 httpd.conf
中,添加一个部分来配置 mod_jk
。
确保将 Tomcat 配置为接受 mod_jk
协议,该协议通常位于端口 8009 上。
httpd.conf
和 JkMount
中的行:
JkMount /examples/* worker1
告诉 Apache HTTPD 哪些请求将被转发到 Tomcat。
【讨论】:
【参考方案5】:正确的做法是让Apache保持在80,Tomcat保持在8080,并使用插件(最好是mod_proxy)从Apache代理Tomcat。 mod_proxy 只需 10 分钟即可完成设置。
这个how-to 很容易上手。
【讨论】:
我也推荐这个 - 最好不要让你的 JVM 以 root 身份运行,除非你有其他方法允许它绑定到端口 80。 mod_jk 允许您不以 root 身份运行,并且仍然使用端口 80 通过 Apache 服务请求。 @kgiannakakis:你更喜欢这个而不是 mod_jk 吗? mod_proxy 是一个较新的模块,被认为比 mod_jk 更好。仅从 Apache 的 2.2 版开始支持。我个人只使用过 mod_proxy。 如果此处包含一些操作方法的关键点,则此答案可能会受益匪浅。目前,它只是一个仅链接的答案。以上是关于如何从 Apache 重定向到 Tomcat?的主要内容,如果未能解决你的问题,请参考以下文章