前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >IIS7不支持sni,图形界面不支持单域名证书的https站点指定hostname

IIS7不支持sni,图形界面不支持单域名证书的https站点指定hostname

原创
作者头像
Windows技术交流
修改2022-03-02 17:09:37
2.4K0
修改2022-03-02 17:09:37
举报
文章被收录于专栏:Windows技术交流

IIS7到底支持SNI吗?所谓支持SNI就是一个服务器上部署多个站点、每个站点分别绑定不同的证书、用相同的端口,≤2008R2(II7)的低版本是不支持SNI的,并且图形界面不支持单域名证书的https站点指定hostname。

https://docs.microsoft.com/en-us/iis/get-started/whats-new-in-iis-8/iis-80-server-name-indication-sni-ssl-scalability

IIS7图形界面不支持单域名证书的https站点指定主机名,关联证书就自动关联证书对应的域名了。如果单域名证书的https站点需要指定主机名,请使用≥2012/win8的系统。

≤2008R2(II7)上即便用appcmd命令绑定了hostname,不同的单域名证书的站点的https端口也不能相同。比如:

C:\Windows\System32\Inetsrv\appcmd.exe set site /site.name:"Default Web Site" /+bindings.[protocol='https',bindingInformation='*:443:aaa.shawyang.cc']

C:\Windows\System32\Inetsrv\appcmd.exe set site /site.name:"test" /+bindings.[protocol='https',bindingInformation='*:8443:bbb.shawyang.cc']

appcmd命令的使用参考

https://www.cnblogs.com/zzgblog/p/10093720.html

https://www.cnblogs.com/luckjun/p/4250199.html

http://cn.voidcc.com/question/p-estpddfu-kh.html

https://www.orcode.com/question/805177_k78efd.html

https://docs.microsoft.com/zh-hk/archive/blogs/webapps/how-to-set-hostname-during-ssl-binding-in-iis7

https://www.sslshopper.com/article-ssl-host-headers-in-iis-7.html

https://serverfault.com/questions/96810/iis7-cant-set-host-name-on-site-with-ssl-cert-and-port-443

如果是通配型证书,即一个证书包含多个域名的这种,2008R2是支持部署多个站点用不同子域名、相同证书、相同端口的。

如果是单域名证书的多个站点,不能是相同端口,先手动分别绑定不同的单域名证书,然后再执行appcmd命令绑定hostname。

Default Web Site站点

http://aaa.shawyang.cc:80/

http://bbb.shawyang.cc:80/

https://aaa.shawyang.cc:443/

上图中的443绑定是通配型证书

test站点

http://aaa.shawyang.cc:8080/

http://bbb.shawyang.cc:8080/

https://bbb.shawyang.cc:8443/

https://bbb.shawyang.cc:443/

上图中的443绑定的是通配型证书,但8443绑定的是单域名证书,其hostname就是用appcmd命令绑定的(有2条8443,hostname为空的那个是先手动选了单域名证书,hostname不为空的那个就是执行appcmd命令后自动产生的)

http://blog.armgasys.com/?p=80

通配证书(*.domain.com)通过特殊手段可以指定主机名,可以生效(同一个泛域名证书,多个子域名配到多个站点上,只用这一个泛域名证书是可以的)

单域名证书通过特殊手段虽然可以指定主机名了但是不生效,因为2008 r2不支持,虽然2008 r2上可以安装IIS 8.0 Express,但IIS 8.0 Express也仍然不能完全支持SNI,SNI的完全支持最低是Server 2012或Win8系统。

总之,IIS7上的SNI支持是不完整的,不适用多个单独的域名和单独的证书,只适用通配型证书。SNI的完全支持是从IIS8开始的(不包含IIS8 Express),IIS8的最低操作系统版本是Server2012或Win8。

如果是双域名证书,即主域名和www子域名的这种,可以通过下面的方式给证书列表显示的字符串前面显示个*号出来,这样就可以配置2个相同端口的站点分别绑定主域名和www子域名了。

1.安装IIS、把pfx证书准备好放到桌面

如果证书不是现成的pfx格式,需要自己去转换

利用在线ssl证书转换工具将.crt证书转为.pfx格式,转换过程中必须自定义密码

https://csr.chinassl.net/convert-ssl.html

如果有现成的pfx证书,当然就直接到第2步了

2.导入证书

3.运行mmc点上图红色圈出的地方

4.拉滚动条找到"证书" → 点添加→选计算机账户→本地计算机→完成→确定

5.承接上面,如下图点个人→证书→具体证书上右击点属性

友好名称这里,前面加个*

这一步很关键

如法炮制,把另一个也弄了

6.最关键的一步,上一步设置*是为这一步铺垫

选了证书后,主机名可以写了,在设置*之前是不能的

7.行了,不同的证书就通过这种方式写上主机名了,然并卵

以上步骤是为通配证书而写的,单域名证书没办法,IIS7不支持,只能升级IIS,虽然2008 r2上可以安装IIS 8.0 Express,但IIS 8 Express也仍然不支持SNI,SNI的支持最低是Server 2012或Win8系统。

8.IIS8/IIS10在IIS管理器的界面上已经有SNI可选了,不用去MMC那里修改友好名称增加星号了

参考

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

https://www.cnblogs.com/developersupport/archive/2013/03/20/IIS7-wildcard-certificate.html

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云服务器
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档