『QQ:1353814576』

IIS下HTTPS提示ERR_SSL_VERSION_OR_CIPHER_MISMATCH的解决办法


问题描述:

之前站点因为一直是http协议有些小想法无法实现,就想着试试升级到https,但看着阿里高昂的https证书价格原本是觉得没搞头了,毕竟一个小破站好几年的花费都没这证书的半年来的贵,免费的原本是嫌麻烦懒得搞 因为据说是三个月得重新续签一次,这两天无意间在看到网上有自动续签的免费证书就又动了心思。

趁着这两天工作摸鱼时间相对比较宽松,稀里糊涂把站点的https认证给安排上了,没想到实际部署下来还挺顺利的,并没有没有碰到特别大的磕磕绊绊,唯独上面这个问题,花了我半天时间去折腾。

问题症状:

部署完成后通过https协议访问站点 IE系浏览器可以正常访问 但是谷歌系的浏览器就报错 此站点的连接不安全 使用不受支持的协议 ,如下图所示

IIS下HTTPS提示ERR_SSL_VERSION_OR_CIPHER_MISMATCH的解决办法

上面这个问题如果你直接百度搜索 “ERR_SSL_VERSION_OR_CIPHER_MISMATCH” 估计大概率是得不到解决办法的 ,基本都是说cdn的问题,用不起cdn的在角落默默流泪

解决办法:

其实问题就出在服务器(这里特指windows服务器)不支持或未开启TLS 1.2,这里先说一下符合这个方法的系统版本

windows7或windows Server 2008R2 及以上版本 之前的貌似不支持TLS 1.2

不支持的直接跳过另寻他法,支持但未开启的 根据下面的开启说明应该就可以了(不可以的话还是另寻他法吧)

Windows服务器的TLS 1.2开启配置说明

先说一下我这边得服务器系统版本是 windows server 2008 r2

  1. 打开注册表 找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols

  2. 然后以此分别 右键->新建->项->新建 TLS 1.1 , TLS 1.2 如下图:

IIS下HTTPS提示ERR_SSL_VERSION_OR_CIPHER_MISMATCH的解决办法

  1. 分别选择TLS 1.1和TLS 1.2 再分别 右键->新建->项->新建Server, Client 参考上图

  2. 在新建的Server和Client中都分别新建如下的项(DWORD 32位值),总共4个(属性值都一样)

  1. 禁用原来的SSL 2.0协议,Client 配置属性都一样 区别在于Enabled属性设置为0 即禁用
  1. 重启服务器 再次访问便不再提示连接不安全了