Apache 端口转发 80 到 8080 并访问托管在 Apache (80) 中的应用程序,即 phpMyadmin 和 Tomcat (8080)

Posted

技术标签:

【中文标题】Apache 端口转发 80 到 8080 并访问托管在 Apache (80) 中的应用程序,即 phpMyadmin 和 Tomcat (8080)【英文标题】:Apache Port forwarding 80 to 8080 and accessing applications hosted both in Apache (80), i.e phpMyadmin and Tomcat (8080) 【发布时间】:2015-04-06 02:57:25 【问题描述】:

我想访问托管在 tomcat 服务器(8080)中的应用程序“myapp”,目前可以通过http://example.com:8080/myapp 中的http://example.com:8080/myapp 访问(apache 服务器,端口 80)。我该怎么做?如果我使用端口转发 80 到 8080,我是否能够访问 phpMyadmin 或在端口 80 中运行的任何其他应用程序?我应该遵循哪种方法来完成任务?

我使用的是 Ubuntu 服务器 14.04。

【问题讨论】:

【参考方案1】:

使用 mod_proxy。加载模块... 第二个在你的虚拟主机中定义:

    ProxyPass        /myapp         http://example.com:8080/myapp
    ProxyPassReverse /myapp         http://example.com:8080/myapp

但是当您的 tomcat 应用程序只有相对链接时,这将起作用。

【讨论】:

你能详细说明一下吗?相对链接是什么意思? 有时应用程序中的链接是硬编码的。相对链接 ../page2/index.html 会起作用,绝对 - server:8080/page3/index.html - 不会。转发端口时遇到同样的问题。 我的应用程序中有绝对链接。那我怎样才能让这件事发挥作用呢? 在全局 apache.conf 加载模块 mod_proxy,然后在虚拟服务器中编写代理指令,如答案。 也许重新配置tomcat?我记得有一个带有服务器名称的 conf 指令。我可以提供帮助,但是在星期一...

以上是关于Apache 端口转发 80 到 8080 并访问托管在 Apache (80) 中的应用程序,即 phpMyadmin 和 Tomcat (8080)的主要内容,如果未能解决你的问题,请参考以下文章

Nginx + Apache 公用 80 端口的配置方案。

请问怎样将域名绑定到IP地址的8080端口?

apache 80 端口 反向代理 tomcat 8080端口

使用Nginx(OpenResty)转发域名到非80端口

内网中有两台服务器,服务器A为APACHE占用80端口,服务器B为IIS占用8080端口,如何通过80端口访问不同服务器

使用 mod_proxy 从 80 上的 Apache 转发到 8080 上的 Tomcat 6 [关闭]