IIS服务器多域证书使用443端口解决方案
一个服务器IIS要绑定多个HTTPS站点(该方法在此之前,有进行测试其他网站域名的ssl证书,测试没有问题)
默认情况一个服务器的IIS只能绑定一个HTTPS也就是443端口
要实现多个站点对应HTTPS只能更改IIS配置
首先把每个站点分配个不同端口,如443.444.445…(证书一定要是多域的) 然后重启站点
方法一:
然后在:C:\Windows\system32\inetsrv\config\applicationHost.config
找到
<bindingprotocol="https" bindingInformation="*:443" />
<binding protocol="https" bindingInformation="*:444"/>
<binding protocol="https" bindingInformation="*:445"/>
修改成:
<binding protocol="https" bindingInformation="*:443:domain(对应的域名)" />
<binding protocol="https" bindingInformation="*:443:domain" />
<binding protocol="https" bindingInformation="*:443:domain" />
切记需要对应的每个站点都修改。
不要重启站点和整个IIS服务器,不然又需要重新操作一次上边的步骤!
方法二:
- 通过执行命令的方式,添加443主机头
- 找到站点对应的标识符,c:\windows\system32\inesrv\metabase.xml文件中对应站点的location路径w3svc/后的数字即为站点标识。
- 根据需要可以分别为www和不带www或其他二级站点配置443主机头,打开cmd,执行命令:cscript.exe C:\Inetpub\AdminScripts\adsutil.vbs set /w3svc/1592095342/SecureBindings ":443:www.abc.com"
- 测试访问。配置完成后,通过https对各站点进行访问,确认各站点正确跳转。
注意事项
注意:(1)确认adsutil.vbs的真实目录,一般为:C:\Inetpub\AdminScripts; (2)示例中"1592095342"为站点标识符,"www.abc.com"为您要绑定443端口的主机头。 (3)443为https协议的缺省端口,即默认端口(如果为站点设置不同的SSL端口,则不需按照此文档配置主机头,直接https+域名+端口号访问即可。)
方法三:
- 首先在IIS中,点网站,找到要配置证书的站点,右键属性,把端口改成除了443以外端口(如:448或其它)然后把证书分配进去,最后保证正常启动(验证:https://www.domain.com:448)看是否可以访问;
- 如果您是(iis6)则:通过IIS管理器中-》本地计算机-》右键属性-》勾选 允许直接编辑配置数据库 选项;
- 找到 c:\windows\system32\inesrv\metabase.xml文件,打开找到你要配置站点 域名 或是通过刚才改的 端口号。
- 找到你要配置的站点后,将你修改的端口(448)换成443 然后在做相应的添加指定
如:80端口中有 www.domain.com 和 domain.com 的同时可以访问;
则设置 443 端口中也要同时有 www.domain.com 和 domain.com
如(下图)