默认情况下,IIS7 下面 HTTPS 绑定是无法指定主机名的。 如下图可以看到“主机名”这块是灰色不可编辑的。
IIS7下的https无法绑定主机头,显示灰色,原因是IIS7不支持SNI,即一个IP只能绑定到一个HTTPS站点上。
打开IIS ,找到网站,右击编辑绑定时:
关于导入iis .pfx格式的证书后,编辑绑定时,主机名为灰色的问题
解决方法 :
我们可以通过手工修改IIS配置来实现主机头绑定。打开如下位置的文件。
注意:这个文件可以无法直接打开编辑(报文件不存在),可以先把它复制到桌面上去编辑,编辑完毕后再覆盖回去。
(1)打开C:\Windows\system32\inetsrv\config\applicationHost.config
(2)找到如下节点位置:
*以www.xxxx.com域名为例
将
改为:
注意:这个文件可以无法直接打开编辑(报文件不存在),可以先把它复制到桌面上去编辑,编辑完毕后再覆盖回去。
(4)修改完毕后(不用重启),访问https://www.xxxx.com试试
这样操作的确是主机头和443端口对应了,但是我们会发现其实多个站点https访问后请求到的证书只是最后一个配置的站点,这就导致还是只有一个域名可以正常使用https.
如何处理这个问题呢?
方式1:购买多个IP,每个IP解析一个域名,在绑定HTTPS时指定IP
方式2:使用kangle,apache等来做反代IIS,在前端web服务器上绑定https.
方式3:更换为支持SNI的IIS版本,比如2012R2系统。