微信小程序PC端正常,真机调试与手机端报错ERR_CERT_AUTHORITY_INVALID

今天猫猫的HTTPS证书到期,换了一个SSL证书,发现微信小程序意然报错了。

看图似乎是证书的问题。

猫猫的这台服务器用的是frp内网穿透提供HTTPS服务的,证书是安装在frp客户端这边,IIS或VFP调试服务器提供的是本地HTTP服务,通过frp秒变https。

fprc.ini配置如下

看图似乎是证书的问题。

猫猫的这台服务器用的是frp内网穿透提供HTTPS服务的,证书是安装在frp客户端这边,IIS或VFP调试服务器提供的是本地HTTP服务,通过frp秒变https。

fprc.ini配置如下

代码语言:javascript
复制
[api2]
type = https
local_port = 8081
custom_domains = jfm.abc.com

plugin = https2http
plugin_local_addr = 127.0.0.1:8081

plugin_crt_path =api.crt
plugin_key_path = api.key
plugin_host_header_rewrite = 127.0.0.1
plugin_header_X-From-Where = frp

api.crt,api.key 是证书文件,在腾讯后台申请的,按老计划操作,将旧证书替换成新证书。

我下载的Apache版本,里面有四个文件

把key和crt文件去替换旧版本,未曾想到就出问题了。

解决方案

  1. 如果有前文的问题,先通过 https://myssl.com/ 检测证书状态,该网站有缓存,如果有更换过证书记得手动点刷新报告。
  2. 然后检测一下SSL服务器证书安装,打开https://www.myssl.cn/tools/check-server-cert.html

我这里就提示了,中间证书缺失了。

  1. 也就是说我们的证书文件crt里面缺少东西,那就要把缺少的部分补齐。
  2. 可以利用pem合成证书 https://www.myssl.cn/tools/merge-pem-cert.html
  1. 将合成的PEM文件下载
  2. 修改frpc.ini文件,修改 plugin_crt_path = ssl.pem即可。

最后

猫猫查看了一下nginx版本的证书crt文件体积要大一些,估计crt证书用nginx版本就可以了。