同一台IIS服务器多站点同时部署不同SSL证书实现方法

如今很多地方都能免费申请DV单域名证书,同一台IIS服务器多站点同时部署不同SSL证书可以说是非常平常的事情了,但随之而来的可能就是证书错误网站无法打开。



当一个https的请求到达IIS服务器时,https请求为加密状态,需要拿到相应的服务器证书解密请求。如果每个站点对应的证书不同,服务器需要通过请求中不同的主机头来判断需要用哪个证书解密,然而主机头作为请求的一部分也被加密,最终IIS只好使用第一个绑定到该IP:PORT的站点证书解密请求,从而有可能造成对于其他站点的请求失败而报错。

同一台IIS服务器多站点同时部署不同SSL证书实现方法

■ 将每个https站点绑定到不同的端口,这样客户端浏览网页时必须手动指定端口,例如 https://www.mzwu.com:553/;
■ 为每个站点分配一个独立的ip,这样冲突就解决了,甚至主机头也不用添加了;
■ 使用通配证书,我们采用通配证书颁发给.domain.com,这样任何访问该domain的请求均可以通过该证书解密,证书匹配错误也就不复存在了;
■ 升级为IIS8,IIS8中添加的对于SNI(Server Name Indication)的支持,服务器可以通请求中提取出相应的主机头从而找到相应的证书;

最优解决方法无疑是最后一种,既不会造成使用上的不便,还不增加额外的支出。我的服务器:Windows Server 2019+IIS 10,支持SNI,在服务器导入证书后,编辑网站绑定时钩选"需要服务器名称指示"即可:



参考资料

[1].IIS服务器多站点多域名同时部署多个不同SSL证书HTTPS实现方法:https://www.cnblogs.com/cuihongyu3503319/p/13813313.html

上一篇: 手机浏览器打开控制台的方法
下一篇: ASP多行字符串写法
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags:
最新日志:
评论: 0 | 引用: 0 | 查看次数: 2703
发表评论
登录后再发表评论!