首页 解决微信小程序无法连接服务器的问题:Lets Encrypt 证书链不完整

解决微信小程序无法连接服务器的问题:Lets Encrypt 证书链不完整

2025-03-20 21:27:40 166 0

运维

问题现象

微信小程序体验版无法连接服务器,初步怀疑是 SSL 证书问题。提示:request:fail errcode:-202    错误ERR_CERT_AUTHORITY_INVALID

 

问题排查

1. 证书检测

首先,我们使用 MySSL 在线工具检测 SSL 证书,发现提示:

证书链不完整,评级为 B

 

这说明证书链存在问题,导致微信小程序无法正常建立 HTTPS 连接。

解决方案

1. 调整 Nginx 证书配置

 

Nginx 配置文件中,修改 ssl_certificate 位置,确保引用的是完整的证书链文件:

ssl_certificate /root/.acme.sh/www.ezadmin.top_ecc/fullchain.cer;

然后执行 重启 Nginx

systemctl restart nginx

此时重新检测,证书评级提升至 A 级,但仍然有 ATS 规范问题。

2. 调整 TLS 版本

为了满足 PCI DSS  规范,我们需要去除 TLS 1.0,并仅支持 TLS 1.1+ 版本。修改 nginx.conf 配置:

sl_protocols   TLSv1.1 TLSv1.2 TLSv1.3;

重启nginx

检测后,PCI DSS 规范问题已解决,但仍然提示 ATS  不合规

3. 处理 ATS 合规性问题

为了解决ATS  合规性问题,在 location / {} 配置中添加 HSTS(Strict-Transport-Security) 头信息:

location / {
    ...
    add_header Strict-Transport-Security "max-age=31536000";
    ...
}
 

再次重启 Nginx:

最终,所有问题解决,微信小程序可以正常访问服务器!

 

总结

  1. 证书链不完整:确保 Nginx 配置 fullchain.cer 证书文件,而非 cert.cer
  2. PCI DSS 规范问题:确保 TLS 1.1+ 及以上,去除 TLS 1.0。
  3. ATS 不合规:添加 Strict-Transport-Security 头信息(HSTS)。

 

以上步骤成功解决了 微信小程序体验版无法连接服务器 的问题。如果你在微信小程序发布后遇到类似问题,可以按照本流程进行排查和修复!

 

 

 

 

用户留言