Loading... > 本文主要以两种方法讲述 `Windows Server IIS` 实现多站点多证书 `https` 访问 # 环境 ## 测试环境 > **系统:** `Windows Server2012` , `Windows Server2016` > **IIS:** `IIS8` ;`IIS10` > **SSL 证书:** `阿里云证书` **前提:** IIS 必须在 IIS8 或者以上的 IIS 版本,也就是说,你的 Server 版本必须是 Windows Server2012 或以上版本的操作系统。 关于如何配置 SSL 证书 实现 HTTPS 访问,可参考我博客的其他两篇文章。 1. [IIS安装SSL证书实现HTTPS访问](https://blog.dwtowen.com/2020/06/11/IIS%E5%AE%89%E8%A3%85SSL%E8%AF%81%E4%B9%A6%E5%AE%9E%E7%8E%B0HTTPS%E8%AE%BF%E9%97%AE/) 2. [Window Server 服务器部署 SSL 证书启用 TLS1.2 Https 安全传输](https://blog.dwtowen.com/2020/06/11/Window-Server%E6%9C%8D%E5%8A%A1%E5%99%A8%E9%83%A8%E7%BD%B2SSL%E8%AF%81%E4%B9%A6%E5%90%AF%E7%94%A8TLS1-2-Https%E5%AE%89%E5%85%A8%E4%BC%A0%E8%BE%93/) # 方法一 ## 站点一 **绑定 HTTPS 及 SSL 证书** 站点 右击 >> 编辑绑定 ,添加 (A) >> 类型: https >> IP 地址:全部未分配 >> 端口:443 主机名:你的域名 >> 如下图所示 不勾选“需要服务器名称指示 (N)” >> 选择对应的证书 >> 确定。  ## 站点二 **绑定 HTTPS 及 SSL 证书** 站点二和站点一的绑定方几乎法一直,唯一不同的是需要 勾选“需要服务器名称指示 (N)”。 站点 右击 >> 编辑绑定 ,添加 (A) >> 类型: https >> IP 地址:全部未分配 >> 端口:443 主机名:你的域名 >> 如下图所示 勾选“需要服务器名称指示 (N)” >> 选择对应的证书 >> 确定。  这样你一台服务器上的站点,就可以同时多证书 多 https 访问了。 添加更多站点 方法一致; # 方法二 方法二是直接通过修改 IIS 站点的配置文件来完成配置的。 其实 对于 IIS 而言,我们每个站点的配置都会在 配置文件中的 `<sites>……</sites>` 标签内生成对应的配置。 IIS 站点配置文件路径如下 ```bash C:/Windows/System32/inetsrv/config/applicationHost.config ``` 如方法一中,我们配置的两个站点 `GuideExam2` 和 `ZTrip3` ,再配置文件中,是如下显示的。 ## 站点配置 ```html <site name="GuideExam2" id="2" serverAutoStart="true"> <application path="/" applicationPool="GuideExam2"> <virtualDirectory path="/" physicalPath="D:\webapp\GuideExam2" /> </application> <bindings> <binding protocol="http" bindingInformation="*:80:exam.zfgo360.com" /> <binding protocol="https" bindingInformation="*:443:exam.zfgo360.com" sslFlags="0" /> </bindings> </site> <site name="ZTrip3" id="3" serverAutoStart="true"> <application path="/" applicationPool="ZTrip3"> <virtualDirectory path="/" physicalPath="D:\webapp\ZTrip3" /> </application> <bindings> <binding protocol="http" bindingInformation="*:80:zfgo720.com" /> <binding protocol="http" bindingInformation="*:80:www.zfgo720.com" /> <binding protocol="https" bindingInformation="*:443:www.zfgo720.com" sslFlags="1" /> </bindings> </site> ``` 只需要按对应格式修改对应内容即可。 ### 站点一 GuideExam2 ```html <bindings> <binding protocol="http" bindingInformation="*:80:exam.zfgo360.com" /> <binding protocol="https" bindingInformation="*:443:exam.zfgo360.com" sslFlags="0" /> </bindings> ``` ### 站点二 ZTrip3 ```html <bindings> <binding protocol="http" bindingInformation="*:80:zfgo720.com" /> <binding protocol="http" bindingInformation="*:80:www.zfgo720.com" /> <binding protocol="https" bindingInformation="*:443:www.zfgo720.com" sslFlags="1" /> </bindings> ``` 修改完,保存,并重启你的站点。 选择IIS选择对应证书。 这样你一台服务器上的站点,就可以同时多证书 多 https 访问了。 添加更多站点 方法一致; ## Sites标签完整配置 ```html <sites> <site name="Default Web Site" id="1" serverAutoStart="true"> <application path="/"> <virtualDirectory path="/" physicalPath="%SystemDrive%\inetpub\wwwroot" /> </application> <application path="/MSMQ" applicationPool="DefaultAppPool"> <virtualDirectory path="/" physicalPath="C:\inetpub\wwwroot\msmq" /> </application> <bindings> <binding protocol="http" bindingInformation="*:80:" /> <binding protocol="net.tcp" bindingInformation="808:*" /> <binding protocol="net.msmq" bindingInformation="localhost" /> <binding protocol="msmq.formatname" bindingInformation="localhost" /> <binding protocol="net.pipe" bindingInformation="*" /> </bindings> </site> <site name="GuideExam2" id="2" serverAutoStart="true"> <application path="/" applicationPool="GuideExam2"> <virtualDirectory path="/" physicalPath="D:\webapp\GuideExam2" /> </application> <bindings> <binding protocol="http" bindingInformation="*:80:exam.zfgo360.com" /> <binding protocol="https" bindingInformation="*:443:exam.zfgo360.com" sslFlags="0" /> </bindings> </site> <site name="ZTrip3" id="3" serverAutoStart="true"> <application path="/" applicationPool="ZTrip3"> <virtualDirectory path="/" physicalPath="D:\webapp\ZTrip3" /> </application> <bindings> <binding protocol="http" bindingInformation="*:80:zfgo720.com" /> <binding protocol="http" bindingInformation="*:80:www.zfgo720.com" /> <binding protocol="https" bindingInformation="*:443:www.zfgo720.com" sslFlags="1" /> </bindings> </site> <siteDefaults> <logFile logFormat="W3C" directory="%SystemDrive%\inetpub\logs\LogFiles" /> <traceFailedRequestsLogging directory="%SystemDrive%\inetpub\logs\FailedReqLogFiles" /> </siteDefaults> <applicationDefaults applicationPool="DefaultAppPool" /> <virtualDirectoryDefaults allowSubDirConfig="true" /> </sites> ``` End ~~~✨ 最后修改:2020 年 09 月 29 日 02 : 44 PM © 允许规范转载 赞赏 如果觉得我的文章对你有用,请随意赞赏 ×Close 赞赏作者 扫一扫支付 支付宝支付 微信支付