指向同一公共 IP 和端口的多个子域名

指向同一公共 IP 和端口的多个子域名

我想解释一下我们所处的场景,然后提出这个问题:

我们有域名:

  • www.example.com

以及以下子域名:

  • forum.example.com
  • portal.example.com
  • crm.example.com

以及托管在单独服务器上的以下应用程序:

  • 论坛-服务器 IP:1.1.1.1,港口:1010
  • 门户网站-服务器 IP:2.2.2.2,港口:2020
  • 客户关系管理-服务器 IP:3.3.3.3,港口:3030

所有服务器都在防火墙后面运行

另一方面,我们只有一个公共 IP 地址:

10.10.10.10

因此,为了将本地服务器与公共 IP 链接起来,我们可以在防火墙中创建虚拟主机条目并创建公共端口,如下所示:

  • 10.10.10.10:1010 将指向 1.1.1.1:1010
  • 10.10.10.10:2020 将指向 2.2.2.2:2020
  • 10.10.10.10:3030 将指向 3.3.3.3:3030

然后我们将在DNS ZONE中配置以下A NAME记录:

  • www.example.com-10.10.10.10

所以去论坛应用程序中,用户必须输入:

  • www.example.com:1010

等等:

  • www.example.com:2020 为门户网站
  • www.example.com:3030 为客户关系管理

现在,我们不再使用端口号,而是使用子域,例如,如果用户想要访问论坛,他只需输入:

  • 论坛.example.com

其他应用程序也同样如此。

不为每个应用程序购买新的公共 IP 地址是否可以做到这一点?

抱歉发了这么长的帖子。谢谢

答案1

我认为您的各种应用程序都可以通过 HTTP/HTTPS 访问。在这种情况下,您有几个常用选项。

  • 让您的 Web 服务器代理其他三个子域(www 也是一个子域)提供服务。
  • 安装 HTTP/HTTPS 代理来代理所有子域(以及域)。

您可以先选择一个选项,稍后再更改为另一个。某些应用程序容器具有用于 Web 服务器的插件,这些插件会添加特定于容器的代理标头。

如果您使用 HTTPS,则需要证书上每个域的主题备用名称。或者,您可以在前端(Web 服务器或代理)使用 SNI 向客户端提供正确的证书(仅限支持 SNI 的客户端)。

相关内容