问题描述
微信小程序使用自己的服务器后台时,需要接入https的域名。在确保已经在微信小程序管理后台添加了域名后,本地开发工具可以正常访问https的后端服务,而真机测试与体验版都没办法接入后台。ERR_CERT_AUTHORITY_INVALID 意味着证书认证失败。 此处我是使用nginx完成https映射,下面例子中也是已nginx为例。
解决问题
- 打开https://myssl.com/ 检查Https是否有未知错误
- 如果提示不符合PFS规范,则在nginx配置文件中加入以下配置文件
server {
.................
ssl_certificate /xx/xx/xx;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1.1 TLSv1.2;
}
- 若提示缺少证书链,意味着你ssl证书缺少中间证书,那极有可能就是因为这个导致了你的https在小程序中不可用。
进入https://myssl.com/chain_download.html 输入你的域名后,此网站会自动下载你的证书,并生成中间证书。 你可以在你服务器中,放置ssl证书的位置,运行图中的命令,直接下载中间证书到服务器中。然后在nginx.conf中将原本指向的证书目录修改为中间证书的目录即可。如下所示 ssl_certificate /ssl/full_chain_rsa.crt; - 重启nginx
进入sbin 目录下,执行 ./nginx -t 检查配置文件中是否存在错误 执行./nginx -s reload 重启nginx
|