微信小程序在苹果设备上出现“[request:fail 发生了 SSL 错误无法建立与该服务器的安全连接。]”错误的解决方法
[重要通告]如您遇疑难杂症,本站支持知识付费业务,扫右边二维码加博主微信,可节省您宝贵时间哦!
前段时间帮一个客户设置了一个2008R2服务器的HTTPS(SSL),今天客户找我来说,安卓的可以通过,苹果手机就不可以通过,这个问题貌似没咋出现过,我问啥问题,他说request:fail 发生了 SSL 错误无法建立与该服务器的安全连接。这好像是苹果的一种认证,大脑还是有点印象的,那今天就来做个教程;
错误如下:
问题原因:
主要是因为使用的sever2008 IIS7 默认使用的SSL2.0,而iOS微信需要使用TLS 1.2。只要修改一下,启用server 2008 的TLS 1.2即可;
解决步骤:
1.运行regedit打开注册表
2.启用TLS1.2
进入[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols]
找到TL2 1.1 和TLS 1.2 将里面Server和Client两项的值均改为
DisabledByDefault [值 = 0]
Enabled [值 = 1]
如果没有TLS1.1,TLS 1.2就新建
右键->新建->项->新建TLS 1.1,TLS 1.2
TLS 1.1和TLS 1.2 右键->新建->项->新建Server, Client
在新建的Server和Client中都新建如下的项(DWORD 32位值), 总共4个
3.禁用SSL2.0
将SSL 2.0->Client中的值均改为0
DisabledByDefault [值 = 0]
Enabled [值 = 0]
上面是手动更改注册表的方法。
也可以将以下代码新建文本文件, 后缀名改为.reg,然后双击自动导入
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols] [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0] [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Client] "DisabledByDefault"=dword:00000000 "Enabled"=dword:00000000 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2] [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client] "DisabledByDefault"=dword:00000000 "Enabled"=dword:00000001 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server] "DisabledByDefault"=dword:00000000 "Enabled"=dword:00000001 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1] [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client] "DisabledByDefault"=dword:00000000 "Enabled"=dword:00000001 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server] "DisabledByDefault"=dword:00000000 "Enabled"=dword:00000001
最后重启服务器,再进行域名检测就正常了;(切记,一定要重启服务器哦)
延伸阅读:
2017年1月1日起,苹果强制所有 app 满足 HTTPS,即 iOS9 推出的 App Transport Security (ATS) 特性。
输入域名,通过苹果ATS检测发现临时服务器并不支持TSL1.2,不满足ATS特性,所以需要配置服务器,打开TSL1.2
域名检测网址:http://s.tool.chinaz.com/ats/
按照以上的操作,就可以解决 微信小程序在苹果设备上出现“[request:fail 发生了 SSL 错误无法建立与该服务器的安全连接。]”错误 希望能帮助后来者;
问题未解决?付费解决问题加Q或微信 2589053300 (即Q号又微信号)右上方扫一扫可加博主微信
所写所说,是心之所感,思之所悟,行之所得;文当无敷衍,落笔求简洁。 以所舍,求所获;有所依,方所成!