概述
本文主要介绍微信小程序访问CDN证书校验失败的排查思路。
问题描述
Android端微信小程序访问CDN的HTTPS请求出现证书校验失败的情况。
问题原因
提交的中间证书错误。
解决方案
-
在Android端微信小程序端访问CDN的证书出现校验失败的情况,而在其他的浏览器中测试均是正常的,排查中间证书是否存在问题。
-
查看其证书链是否完整,如果完整,说明不是证书链问题。
-
排查是否是SNI问题导致的该问题,抓取Android微信端访问具体异常。
-
分析该客户端发起请求到服务器端,与服务器端交换证书报Certificate Unknown后抛出Reset,并且查看客户端发出的SSL请求也带有SNI信息。测试结果如下图。
-
客户端与服务器端交换证书后报错并发送RST包。
-
客户端携带的SNI信息。
-
查看CDN节点服务器端返回的证书也是该域名的证书,并没有查看到异常。CDN服务器端返回证书情况如下图。
-
发现提交的中间证书错误导致该问题。而导出中间证书可以使用浏览器的导出证书功能。导出中间证书方式如下图所示。
适用于
-
CDN