一个 IP 地址两个网站和服务器 SSL

一个 IP 地址两个网站和服务器 SSL

好的,我有以下内容:

  • 一个外部 IP 地址。
  • 两个网站位于各自的物理服务器 (IIS) 上。(它们是分开的,并且必须保持这种状态)。无虚拟主机。
  • 两个 SSL 证书,每个网站一个

主网站使用标准外部 443 端口 辅助网站使用外部端口 8443

例子:

在 LAN 内部,我可以访问每个网站,SSL/证书正确无误。我使用 DNS 将其指向内部 IP 地址。

从外部来看,https://remote.somedomain.com将直接进入“主”网站,除非我使用 8443 端口...https://remote.somedomain.com:8443

但是当我使用https://remote.somedomain.com:8443从外部来看,SSL 证书是错误的。它实际上是在尝试使用https://main.somedomain.com证书。尽管我没有https://main.somedomain.com该服务器上的证书。

那么到底发生了什么?我需要获取另一个外部 IP 地址吗?有解决方法吗?这链接提供了一种解决方法,但我可以使用虚拟主机

答案1

由于您在自己的机器上运行 Web 服务器,最简单的方法是拥有唯一的 IP 并将 TCP 连接重定向到后端服务器。如果您想使用 vhost-route,则需要在一台服务器(如前端 haproxy)上执行 SSL 终止,然后将未加密的流分发到后端 IIS 服务器。

答案2

如果你只有一个公网地址,2台物理服务器,那么公网地址如何映射到各个服务器上?nat 又是如何设置的?

听起来你需要这样的配置:

public ip / dns record
   |
nat/firewall
   |
server1 <---> reverse proxy <---> server2
   |                                 |
website                           website

因为如果你只有一个地址,它只能映射到一个后端服务器。
后端服务器有私有地址,对吧?
所以你需要将所有公共访问发送到,server1并将其用作反向代理server2

如果我错了,那么我可能需要你提供更多信息。

答案3

您可以按照@chicks 的建议去做,但配置和测试需要一些时间和咖啡。另外,在我看来,这不是一个真正好的解决方案。只要您不能将两个网站放在一台服务器上,最好获得额外的 IP。虚拟主机仅适用于位于同一台服务器上的网站。

相关内容