在使用 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。
所以我想模仿相同的手动步骤让自动化工作。但这并没有帮助。
我尝试了以下步骤。
- 使用以下命令在 http.sys 中为主机名端口组合创建一个新的 ssl 配置。
netsh --% http 添加 sslcert hostnameport=Testssl:443 certhash=d70930bb790f89c04c728d9285b64f5fb0258fc7 appid={01010101-0101-0101-0101-010101010101}[cert=storename=M] ]
使用主机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
想法是自动将 SSL 证书链接到 IIS 7 或更高版本的网站。
服务器中的所有网站使用相同的IP地址和相同的默认端口。所以他们都是通过他们的主机 header 名称来区分的。
我可以毫无问题地手动完成此操作。但是在自动化时存在问题。
手动完成后,http.sys 中的 ssl 配置条目被记录为 HostNameport TestName:443,而不是 ipport xx.yy.z.a:443。
所以我想模仿相同的手动步骤让自动化工作。但这并没有帮助。
我尝试了以下步骤。
- 使用以下命令在 http.sys 中为主机名端口组合创建一个新的 ssl 配置。
netsh --% http 添加 sslcert hostnameport=Testssl:443 certhash=d70930bb790f89c04c728d9285b64f5fb0258fc7 appid={01010101-0101-0101-0101-010101010101}[cert=storename=M] ]
使用主机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