默认情况一个服务器的 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 主机头
找到站点对应的标识符, MetaBase.xml 文件中对应站点的 location 路径 w3svc / 后的数字即为站点标识.
根据需要可以分别为 www 和不带 www 或其他二级站点配置 443 主机头, 打开 cmd, 执行命令: cscript.exe C:\Inetpub\AdminScripts\adsutil.vbs set /w3svc/1592095342/SecureBindings ":443: http://www.abc.com/"
测试访问. 配置完成后, 通过 https 对各站点进行访问, 确认各站点正确跳转.
注意事项
注意:(1) 确认 adsutil.vbs 的真实目录, 一般为: C:\Inetpub\AdminScripts; (2) 示例中 "1592095342" 为站点标识符,"http://www.abc.com/" 为您要绑定 443 端口的主机头. (3)443 为 https 协议的缺省端口, 即默认端口 (如果为站点设置不同的 SSL 端口, 则不需按照此文档配置主机头, 直接 https + 域名 + 端口号访问即可.)
来源: http://www.bubuko.com/infodetail-2706007.html