适用于可从不同 IP 访问的网站的 IIS 7.5 SSL 证书

适用于可从不同 IP 访问的网站的 IIS 7.5 SSL 证书

我有一个网站,目前处于开发状态,可以通过两种方式通过 IP 访问:在公司内部网络站点可以通过 198.162.0.10/WebSite 访问,也可以从 Internet 212.19.10.50:1234/WebSite 访问

当用户访问 212.19.10.50:1234 时,它会通过路由重定向到 198.162.0.10,并使用 443 端口进行 https。

在我的案例中,我该如何安装服务器证书?我需要让它在内部和外部网络上正常工作,而不会出现证书问题。

在我的情况下,是否可以为一个站点创建 2 个证书以使 IIS 选择探测器证书?

SAN 内部证书主题对于外部网络来说应该是什么?外部 IP?

答案1

尽管从技术上讲可以设置 IIS 来支持此功能,但您无法为此类设置获取 SSL 证书。我稍后会解释...

使用 SSL 时需要记住的重要一点是,客户端浏览器负责验证证书。因此,客户端浏览器使用哪个地址连接服务器非常重要。这是common name证书应有效的地址(也称为或 CN)。

如果您的客户端使用两个不同的主机名(或本例中的 IP 地址)连接到同一个网站,则您必须拥有两个主机名的两个证书或一个多域证书。后者最容易设置,但也更昂贵。但向一个网站添加两个证书也不难。您只需确保有两个单独的 IP 地址绑定到同一个网站。每个 SSL 绑定都需要自己的 IP 地址。因为服务器位于内部网络上,所以我想添加额外的 IP 地址并不难(例如198.162.0.10198.162.0.11)。

您以常规方式在服务器上安装两个证书,然后进入网站绑定。首先,添加198.162.0.10用于从公共互联网访问服务器的第一个 IP 地址(例如)。选择 HTTPS 作为协议,然后选择以公共主机名/IP 地址作为通用名称的证书。证书的主机名/IP 地址与内部 IP 地址不匹配并不重要。同样,服务器不会对其进行任何操作,而是客户端的浏览器验证证书。

然后添加第二个 IP 地址(例如198.162.0.11),用于内部访问服务器。再次选择 HTTPS 作为协议,但这次选择以内部 IP 地址(即198.162.0.11)作为通用名称的证书。然后你就大功告成了。

但是……尽管有一些证书颁发机构会为 IP 地址提供证书,但这些必须是公共 IP 地址,并且您必须能够证明您是这些 IP 地址的所有者(例如 RIPE 记录)。但是,他们不会为私有 IP 范围(如 192.168.xx)提供证书。而这正是您进行此设置所需要的,所以您运气不佳。

两种解决方案:要么确保您的网站也可以通过其公共 IP 地址从内部网络访问,并为该公共 IP 地址获取一个证书。或者使其可以通过相同的主机名从公共 IP 地址和内部网络访问。此主机名可以映射到内部网络的内部 IP 地址,这不是问题,只要主机名(= 通用名称)相同即可。毕竟,这就是浏览器检查的全部内容。

答案2

因此,据我了解,服务器发布在 212.19.10.50:1234 上,并且有一个反向代理服务器将外部流量转发到该站点?您可能还需要反向代理的证书,以便它可以正确重定向流量。那个只需要外部 DNS 条目。

您可以使用拆分 DNS 解决方案,其中内部 DNS 提供内部 IP 地址,外部 DNS 服务器提供另一个地址,那么您只需要一个没有 SAN 的服务器证书。

或者,如果您想要不同的 URL,则可以使用主题备用名称,在这种情况下,主题名称无关紧要,可以是任何名称。只需添加两个 SAN,一个是 198.162.0.10,一个是 212.19.10.50(或它们的 DNS 等效项)

为了简化操作,您可以完全在外部托管网站,这样您只需要一个证书,并且您无法加密代理服务器和 iis 之间的流量。或者您可以这样做,但您需要一个代理证书和一个网站证书。

相关内容