如何在IIS中设置通配证书

2020-02-21 00:04

如何在IIS中设置通配证书(wildcard certificate)来避免证书匹配错误

网上有很多文章介绍在某些情况下通配证书的必要性,但是如何在IIS中配置通配证书却少有人提及,因为对于通配证书的需求普遍存在,我们在这篇文章中来介绍一下如何在IIS中配置通配证书来避免证书匹配错误。

背景

假设有这样一个场景,我们有多个站点(例如site1.marei.com,site2.marei.com和site3.marei.com)绑定到同一个IP:PORT,并区分不同的主机头。我们为每一个SSL站点申请并安装了证书。在浏览网站时,用户仍看到证书不匹配的错误。

问题原因

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

解决方案

对于该问题有多种解决方案

1. 第一种解决方案将每个https站点绑定到不同的端口。但是这样的话客户端浏览网页时必须手动指定端口,例如https://site.domain.com:444

2. 第二种解决方案是为每个站点分配一个独立的ip,这样冲突就解决了,甚至主机头也不用添加了。

3. 第三种解决方案是使用通配证书。我们采用通配证书颁发给*.domain.com,对于我们的示例中,应该采用颁发给*.marei.com的证书,这样任何访问该domain的请求均可以通过该证书解密,证书匹配错误也就不复存在了。

4. 第四种解决方案是升级为IIS8,IIS8中添加的对于SNI(Server Name Indication)的支持,服务器可以通请求中提取出相应的主机头从而找到相应的证书。

http://www.iis.net/learn/get-started/whats-new-in-iis-8/iis-80-server-name-indication-sni-ssl-scalability

如何在IIS7中配置通配证书

1. 将证书安装到IIS7服务器

2. 在IIS管理器中,设置443绑定,site1.marei.com在下面的示例中的主机名。

3. 通过管理员打开命令提示符具,转到%SYSTEMDRIVE%\\WINDOWS\\system32\\inetsrv目录

执行以下命令来添加对于其他站点的绑定

appcmd set site /site.name:\站点名称>\

/+bindings.[protocol='https',bindingInformation=':443:<主机头>']

4. 在IIS中,可以查看绑定,但注意不能做任何改动,否则绑定设置将被重置。任何更改都需要通过APPCMD

5. 测试创建的https://网站,可以看到网站可以成功访问,证书错误不再出现。

希望以上步骤对你有所帮助。


如何在IIS中设置通配证书.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:上海交运SGM白车身零件工装供应商要求通则

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: