问题
公司一项目用的好好的,因安全升级切换域名。
- 1、代码和微信公众平台上的域名都修改好了,微信开发者工具中访问https的api接口正常;
- 2、微信开发者工具无论是否打开了【不校验合法域名、web-view以及HTTPS证书】这个设置,都可以正常运行。
- 3、在尝试真机调试的时候,发现前端请求发不出去了。无论是否打开了【不校验合法域名、web-view以及HTTPS证书】这个设置,都不行。
问了一圈,后台接口只是替换了域名,网页上是可以正常请求的;运维也说是按以前正常使用那样配置的…
原因排查
感觉就不是前端的问题,这时候就先去微信官方文档,查看下对服务器配置的要求
查看了下要求,证书的信任链必需完整(需要服务器配置) 这一点尚未验证,去上面推荐的【在线工具】进行验证。
发现安全链确实不完整
解决方法
检测结果里有提供解决的方法,【缺少证书链的问题和解决办法】,配置好后替换服务器的https证书。真机运行调试后,正常。
注
答案虽有,但为了加强说服力,还可以用青花瓷等第三方工具抓包第三方小程序的请求接口,对比下证书安全链的安全级别。
如:KFC
对比几个后,发现正常使用的接口,基本上安全级别都是A的。
至此,可以让运维去配https证书了。