配置443端口将请求转发到不同的服务器

网络工程 路由器
2022-02-17 06:33:54

我有这种情况。我的网络上有两台服务器。我不知道为什么。这就是它的设置方式。第一台服务器 (Server1) 的本地 ip 为 192.168.0.2,第二台服务器 (Server2) 的本地 ip 为 192.168.0.200。在路由器上,在端口转发中有一个配置,对443端口的请求会被转发到Server1。但是,现在我需要在 Server2 上托管我的网站(我不能在 Server1 上托管它)并且我购买了 ssl 证书并安装了它。但是任何对 https 的请求都将转发到 Server1,因为当路由器看到 https 时,端口 443 是默认端口。我该如何解决这个问题?我的网络团队为我打开了一个新端口 4430,因此我可以使用https://www.example.com:4430访问我的网站. 但是,我认为这对我的用户来说并不实用。我可以在路由器上为端口 443 设置端口转发配置,以确定请求应该发送到哪个服务器?例如更改协议等。谢谢。

2个回答

这类问题基本上有三种可能的解决方案,它们各有利弊。

  1. 多个公共 IP 地址(以及可以适当处理这些地址的路由器)。
  2. http 代理,您的代理接受连接,终止 ssl/tls 并根据 http 标头转发解密的流量(可能重新加密它)。
  3. 一个 SNI 代理,您的代理接受连接但不解密它,它使用 TLS 标头中的 SNI 扩展来决定将其转发到哪里。这里的缺点是这只适用于现代客户。

你有几个我知道的选择。没有特别的顺序:

  1. 从您的 ISP 购买第二个 IP 地址。第一个 ip 上的 :443 进入第一台服务器,第二个 ip 上的 :443 进入第二台服务器。这是标准的、价格低廉且易于配置的。

  2. 在第一台服务器上使用 :443 以外的端口。

  3. 指定来源。例如,如果到第一台服务器的连接总是以源 ip 1.1.1.1 到达,那么说 1.1.1.1:xx -> outside_ip:443 转到服务器 1。到 :443 的所有其他连接都转到服务器 2。