IIS服务器部署多个HTTPS方法
由于IIS6不支持多个网站绑定HTTPS,我发现如果已经有一个网站绑定了证书,如果给第二个页面绑定证书的话就会挤掉第一个的证书。在网上搜索发现了很多各种各样的解决方法,复杂又不好用。
后来发现可以直接修改IIS的配置文件,并不需要在IIS管理器里进行修改。
步骤
-
找到IIS的配置文件,在 C:Windowssystem32inetsrvconfigapplicationHost.config
注意,这个文件不能直接打开编辑,可以先把它复制到桌面编辑,编辑完毕后再覆盖回去
-
找到配置文件里你要修改的页面的配置信息,用
<site> </site>
标签包括了。类似于:<site name="api.mydomain.com" id="10" serverAutoStart="true"> <application path="/" applicationPool="api.sixsense.com"> <virtualDirectory path="/" physicalPath="E:websixsen.mydomain.com" /> </application> <bindings> <binding protocol="http" bindingInformation="*:80:api.mydomain.com" /> </bindings> </site>
-
将
<binding>
包括的行里的protocol="http"
改为protocol="https"
,然后bindingInformation="*:80:api.mydomain.com"
的80端口改为443端口。只要证书是包括这个新域名,就能使用HTTPS访问了,如果需要http和https都可以正常访问,那么可以用两行<binding>
,例如:<site name="api.mydomain.com" id="10" serverAutoStart="true"> <application path="/" applicationPool="api.sixsense.com"> <virtualDirectory path="/" physicalPath="E:websixsen.mydomain.com" /> </application> <bindings> <binding protocol="http" bindingInformation="*:80:api.mydomain.com" /> <binding protocol="https" bindingInformation="*:443:api.mydomain.com" /> </bindings> </site>
只要保存文件,覆盖回去,就能正常访问站点了,注意不要重启 IIS 。