我有 3 个网站:aaa.my-domain.com,bbb.my-domain.com并且ccc.my-domain.com都*.my-domain.com在 IIS 7.5 Windows Server 2008R2 64 位上使用单个通配符证书。该证书将在一个月后到期,*.my-domain.com我的服务器上已准备好新的通配符证书。
我希望所有这些域都使用新的通配符证书而不会出现明显的停机时间。
我从替换 aaa.my-domain.com 的证书开始,通过 UI 尝试了通常的方法:

但是当我按 OK 时,我收到以下错误:
--------------------------- 编辑站点绑定 -------------------- -------
至少有一个其他站点使用相同的 HTTPS 绑定,并且该绑定配置了不同的证书。您确定要重用此 HTTPS 绑定并重新分配其他站点以使用新证书吗?
--------------------------- 是 否 --------------------- ------
当我单击Yes 时,我收到以下消息:
--------------------------- 编辑站点绑定 -------------------- -------
与此绑定关联的证书也分配给另一个站点的绑定。编辑此绑定将导致其他站点的 HTTPS 绑定不可用。您还想继续吗?
--------------------------- 是 否 --------------------- ------
此消息告诉我https://bbb.my-domain.com和https://ccc.my-domain.com将无法使用。而且至少在我完成替换这两个域的证书之前,我将有停机时间,对吗?
我在想,必须有一种更聪明的方法来做到这一点。可能通过命令行将通配符证书一次性替换为所有网站的新证书。我在网上找不到任何关于如何做到这一点的资源。有任何想法吗?
与通配符和绑定相关的站点:
与从命令行绑定证书相关的站点:
ssl command-line-interface iis-7.5 ssl-certificate windows-server-2008-r2
情况:具有 30 多个站点和 10 多个证书的 IIS 7.5 服务器和一些证书可能已过时。过时意味着它们未绑定到 IIS 上任何站点的 ip:port。
我可以通过 GUI 检查每个站点绑定,但这似乎不是最快的方法。
我可以使用什么命令获取使用某个证书的站点列表,该证书的通用名称为*.example.com. 我想我至少需要netsh http show sslcert,但该输出仅显示证书哈希而没有站点名称。
command-line-interface netsh iis-7.5 ssl-certificate windows-server-2008-r2