上一节在IIS上部署好SSL证书后,应用的端口也配置完成,微信小程序开发工具测试通过。
然而在发布正式版时,用苹果真机测试,始终不走接口,如下图所示:
开始排除问题,
(1)首先增加接口的日志,发现并没有进入接口对应的方法,不是接口的问题。
(2)微信小程序服务器域名是否配置
登陆微信开发平台,“开发”-》“开发设置”-》“服务器域名”,添加request合法域名,如下图所示:
网上查了些资料,发现苹果机的小程序,服务器的域名和端口号需要通过ATS监测。
苹果ATS监测链接: http://s.tool.chinaz.com/ats,检测结果如下,服务器未支持TLS1.2:
TLS1.2实际目的是在Web服务器和客户端浏览器之间建立安全连接。
在TCP连接建立之后,首先客户端验证服务器的证书,在安全性要求高的情况下服务器还会验证客户端的证书。然后两者开始协商加密密钥,协商完成之后,就利用这个密钥开始加密通信。
如何使服务器开启TLS1.2协议呢,查了些资料 https://cloud.tencent.com/document/product/400/6973,
服务器采用IIS配置解决:
Windows 2008及更早的版本不支持 TLS1_2 协议,因此无法调整 2008R2 TLS1_2 协议,默认是关闭的,需要启用此协议达到 ATS 要求。
以2008 R2为例,导入证书后没有对协议及套件做任何的调整。
证书导入后检测到套件是支持 ATS 需求的,但协议 TLS1_2 没有被启用,ATS 需要 TLS1_2 的支持。可使用的 ssltools工具,启用 TLS1_2 协议。如下图所示:
勾选三个 TLS 协议并重启系统即可。如果检查到 PFS 不支持,在加密套件中选中带 ECDHE 和 DHE 就可以了
以上配置完成后,重新进行ATS检测,结果如下:
重新用苹果机测试,正常访问,问题解决。
以上,仅供学习和总结
|
请发表评论