在 iis 上为每个站点部署 SSL 证书

在 iis 上为每个站点部署 SSL 证书

我目前在 iis 8.5 服务器上部署了多个站点,每个站点都有自己的 80 和 443 绑定,我需要为机器上配置的每个主机名提供不同的证书,但是当我想编辑与一个站点上的 443 绑定相关联的证书时,我收到以下消息:

至少有一个其他站点正在使用相同的 HTTPS 绑定,并且该绑定配置了不同的证书。您确定要重新使用此 HTTPS 绑定并重新分配其他站点以使用新证书吗?

是 / 否

即使我为每个站点的每个绑定设置了主机名,也会发生这种情况,

如果我点击“是”,则所有绑定都将被修改,并且所有站点仍保留相同的证书;如果我点击“否”,则什么也不会发生,

我如何才能更改我所托管的其中一个站点的证书?

答案1

这可以通过以下方式实现服务器名称指示 (SNI), 和在 IIS 8 上进行配置(以前的版本不可用)

勾选服务器名称指示复选框后,您将不会再收到相同的消息

服务器名称指示最终与 nginx 或 apache 上的虚拟主机相同。

在 IIS 10 中编辑网站绑定的示例: 在此处输入图片描述

答案2

除非您的 NIC 绑定了多个 IP 地址,否则您无法实现这一点。每个请求发送的主机标头对您的服务器不可见,因此,它会根据请求的 IP 解析要使用哪个 SSL 证书 - 本质上 SSL 绑定是针对 IP 而不是主机名进行的(我知道在 GUI 上看起来不是那样的)。

为什么需要为每个站点设置一个证书?为什么不直接获取通配符并为每个站点设置主机头?

请参阅问题/答案在这里,基本上和你问的一样。

相关内容