根据 URL 从 80 端口重定向到不同的端口

Redirecting from port 80 to different ports based on URL

我有两个应用程序(Atlassian JIRA 和 Confluence)监听端口 8080 和 8090,可通过 example.com:8080/jira 和 example.com:8090/confluence 访问。 我想在端口 80 上设置重定向,以便我可以通过 example.com/jira 和 example.com/confluence.

访问服务

有没有简单的方法可以做到这一点?

有两种方法可以解决这个问题。

重定向方法

  1. 您看起来很精通服务器设置。您需要在端口 80 上安装 Web 服务器 运行。(Apache:Windows/*nix;IIS:Windows)
  2. 如果您只想要示例。com/jira 和示例。com/confluence,请设置一个虚拟站点/文件夹。如果您的 DNS 记录指向主机,您也可以执行 jira.example.com 和 confluence.example.com。
  3. 使用 302 重定向 (temporary/found) 将访问此 URL/Virtual 主机的浏览器重定向到新的 URL。此方法更改了浏览器中的 URL,因此浏览器实际上显示了 8080 和 8090 端口。

代理方法

另一种方式,如果你想要透明 URLs 将在 2 URLs 上设置反向代理。这样,端口 80 上的代理服务器就可以像内容来自端口 80 一样响应客户端。Web 服务器在后台获取页面并提供它们。您还有使用反向代理缓存内容的额外好处。