在使用 hostheader 的 IIS 网站上设置现有的 SSL 证书

Setting existing SSL certificate on an IIS website which uses hostheader

想法是自动将 SSL 证书链接到 IIS 7 或更高版本的网站。

服务器中的所有网站使用相同的IP地址和相同的默认端口。所以他们都是通过他们的主机 header 名称来区分的。

我可以毫无问题地手动完成此操作。但是在自动化时存在问题。

手动完成后,http.sys 中的 ssl 配置条目被记录为 HostNameport TestName:443,而不是 ipport xx.yy.z.a:443。

所以我想模仿相同的手动步骤让自动化工作。但这并没有帮助。

我尝试了以下步骤。

  1. 使用以下命令在 http.sys 中为主机名端口组合创建一个新的 ssl 配置。

netsh --% http 添加 sslcert hostnameport=Testssl:443 certhash=d70930bb790f89c04c728d9285b64f5fb0258fc7 appid={01010101-0101-0101-0101-010101010101}[cert=storename=M] ]

  1. 使用主机header 名称为网站创建新的网络绑定。

    New-ItemProperty IIS:\sites\TestSite -name bindings -value @{protocol="https";bindingInformation="192.168.1.108:443:Testssl"}

    New-WebBinding -Name TestSite -Protocol https -Port 443 -HostHeader Testssl -IPAddress 192.168.1.108

通过以上两个步骤,新绑定已存在,但 SSL 证书未附加到绑定。

是否无法在 http.sys ssl 配置中为与相应主机名端口条目的绑定设置 SSL 证书?

在 Lex Li 的评论帮助下,以下命令有效。

New-WebBinding -Name TestSite -Protocol https -Port 443 -HostHeader Testssl -IPAddress 192.168.1.108 -SslFlags 1