开发中关于 HTTPS 不得不规避的 2 个大坑
前言
关于 https,ssl,tls 还有 SSL 证书的申请方法这里就不做解释了,直接进入主题。在开发中往往都会遇到需要给自己的项目配置 ssl,或者对接别人接口时是 https 的。下面就简单介绍一下这两个过程遇到的问题以及解决方法。
问题
1. 配置 HTTPS 后小程序发布无法请求接口,本地微信开发工具请求正常,postman 调试 https 无响应。

2. 通过 PHP 的 cURL 请求别人平台的 https 接口总返回空字符串。
解决方法
1. 问题一是微信小程序在手机端打开时一直无法请求到 https 接口,原因就是 SSL。比如腾讯云免费申请到的 DV 型 SSL 证书,当下的 web 服务器是 apache 需要的文件是目录中的三个。

(1). 将密钥复制出来,以及两个证书文件按下面顺序复制出来。

(2). 然后将两个文件复制粘贴到宝塔的项目设置 SSL 中对应的框中。

(3). 配置完后可以不重启,直接用手机访问小程序或者使用 postman 请求接口。
2. 问题二是请求别人的 https 接口返回空串,上面则是 SSL 安装有问题导致接口异常。所以当自己通过 cURL 在其他地方都能有限而请求这个无效。则很有可能就是对方平台的 https 没有配置好。cURL 请求也有方法关闭 SSL 验证所以自然就可以解决请求不到数据的问题。
(1). 封装请求方法中添加跳过证书检查。


评论