使用免费证书,小程序无法请求接口,提示 request_fail errcode_-202

前言

使用 acme创建的免费证书,小程序无法使用,考虑不是免费域名导致的问题,因为大多数开发者正常使用。

问题复现

{"errno":600001,"errMsg":"request:fail errcode:-202 cronet_error_code:-202 error_msg:net::ERR_CERT_AUTHORITY_INVALID"}

request:fail errcode:-202 cronet_error_code:-202 error_msg:net::ERR_CERT_AUTHORITY_INVALID

问题分析

  1. nginx配置错误
  2. 证书链不完整
  3. 证书过期

解决方案

  1. 通过 亚数信息-SSL/TLS安全评估报告 网站进行检测。一般来讲 评级为 A 为正常。请确认你的 nginx 配置是否正确。


以下是一段 nginx 的域名 ssl 证书配置:

ssl_certificate      /*/nginx/cert/*.com.cert;
ssl_certificate_key  /*/nginx/cert/*.com.key;
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 1m;
  1. image.png证书链不完整(2种解决方案)
    1. 访问 证书链下载/证书链修复 输入你的域名,开始证书链修复,修复后替换你的原秘钥文件(.pem OR .cer )
    2. 使用 acem 签发的证书通常会有以下几个文件,不要直接使用 domain.cer ,请使用 fullchain.cer

证书链 = fullchain.cer = (ca.cer + domain.cer)

image.png

  1. 通过chrom浏览器或者电脑查询证书有效期,查看过期时间
    1. 通过浏览器查看证书信息

image.png

  1. chrom: F12 + Security(安全)

image.png

问题总结

  1. 完整的证书链包括本级域名的证书以及相应颁发机构(CA)的证书信息。
  2. 浏览器只需要具备服务器证书和私钥即可进行认证,而小程序在认证过程中要求使用完整的证书链。
  3. 如果Nginx仅加载了本级域名的证书,而没有加载颁发机构的证书,这将导致证书链不完整。按照证书评级标准,该证书可能被评为B级。对于浏览器来说,可能会出现“不安全”的提示,尽管网页仍能正常访问。当小程序遇到这样的情况时会无法使用,要解决这个问题,请使用完整的证书链。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值