我们在使用Windows服务器安装SSL证书的时候,可能会遇到无法绑定主机头,这种大部分是因为IIS的版本低导致的。建议升级到IIS8版本。
IIS8以下版本的HTTPS绑定是无法指定主机名的。“主机名”的内容是灰色的,不可以修改的,当一台IIS服务器上绑定两个不同的域名,主机上只能启用一个网站的HTTPS,第二个网站的HTTPS无法启用。
解决方法:
1、为每个站点分配一个独立的ip,这样冲突就解决了,甚至主机头也不用添加了。
2、使用通配证书。我们采用通配证书颁发给*.22.cn,那么给*.22.cn的证书,这样任何访问的请求均可以通过该证书解密。
3、升级IIS版本到8.0或以上,IIS8版本支持SNI的添加。
如果不想升级IIS版本,又想把灰色不可编辑的主机名修改,这个需要手动完成。
先找到IIS配置文件的位置
注意:这个文件可以无法直接打开编辑,可以先把它复制到桌面上去编辑,编辑完毕后再覆盖回去。
找到如下位置:
<bindings>
<binding protocol="net.tcp" bindingInformation="808:*" />
<binding protocol="net.pipe" bindingInformation="*" />
<binding protocol="net.msmq" bindingInformation="localhost" />
<binding protocol="msmq.formatname" bindingInformation="localhost" />
<binding protocol="http" bindingInformation="*:80:www.abc.com" />
<binding protocol="https" bindingInformation="*:443:" />
</bindings>
我们修改一下*:443:这部分内容的配置,修改成如下配置:
<binding protocol="https" bindingInformation="*:443:www.abc.com" />
修改完成后,将文件覆盖回去。