评论

线上配置了HTTPS安全域名,请求接口怎么还是不通?

本地IDE调试接口可以正常访问,真机调试和线上都失败。


线上配置了HTTPS安全域名,请求接口怎么还是不通?

本文主要讲述:因缺少HTTPS中间证书导致的接口无法访问,阅读大约10分钟


01 问题:

本地IDE调试,接口访问正常,上线后却无响应。真机调试也无响应,提示报错 Failed, net::ERR_FAILED


02 规定:

微信小程序要求线上接口请求,必须为https通信协议

注:因此不少非运维出身的小伙伴走上了给服务器配置https的道路
经过一番折腾配好后发现依旧无法使用,这里对新手有一处大坑,ssl证书缺少中间证书

 

03 解决:

申请https的证书网站有很多,如下以freessl为例。操作系统Linux,服务器nginx。

首先在证书网站freessl申请ACME域名管理,拿到相关信息完成域名解析配置

示例图:域名解析HTTPS

然后操作Linux下载证书,并配置到服务器相关目录

再用nginx 配置 ssl 解析证书路径重启服务器,去证书网站检测生效后,到此https域名已经可以访问了。

按微信官方要求配置了HTTPS安全域名,发布到线上却发现接口请求依旧不通,至此本文助您解忧如下:


先去如下网站检测证书链:

https://www.myssl.cn/ 
https://myssl.com/

示例图:检测域名证书链


输入相关信息后查询,中间的证书2,会提示服务器缺少中间证书:

示例图:证书2缺少中间证书


此时就要修复证书,我们选择网站中的证书分析,打开服务器下载的证书,将内容复制进来并点下一步。

得到中间证书文件内容,复制到服务器证书内容中,并重启服务器。

 

示例图:补充好中间证书的内容


再次检测,发现已经可以了

示例图:证书2正常状态

至此,真机调试与线上接口已经可以正常访问了。


04 总结:

本文诞生于实践,并对官方缺失部分的延展补充。对于初步认识小程序,并想独立开发一个自己项目的前端开发者

笔者希望这篇文章能让碰到问题的小伙伴少走弯路,如果解决了您的问题,别忘点赞、关注!

最后一次编辑于  2022-05-17  
点赞 2
收藏
评论
登录 后发表内容