三沙市网站建设_网站建设公司_数据统计_seo优化
2025/12/29 19:36:11 网站建设 项目流程

ERR_CERT_COMMON_NAME_INVALID

小程序在电脑上可以正常获取数据,但是发布后无法正常连接,并且报错ERR_CERT_COMMON_NAME_INVALID

服务器配置ssl证书后,检测显示缺少证书链,导致微信小程序无法连接

域名通过了ipc备案, 宝塔服务器上的ssl证书也配置正确,浏览器左上角显示连接是安全的,看上去证书有效。

但是小程序依旧无法访问服务端,无法获取数据。打开调试模式报错NET::ERR_CERT_AUTHORITY_INVALID

err cert authority invalid 这意味着浏览器认为该网站的SSL证书不是由受信任的证书颁发机构(CA)签发的。这可能是由于多种原因造成的,包括证书过期、自签名证书、中间证书缺失等

因为使用了宝塔自己代码的续签,导致了中间证书缺少 无法正常访问 :缺少中级证书Intermediate,请安装中级证书否则证书在部分浏览器中不受信任

原因是证书链不完整 需要对中间证书进行补全 或者重新手动续签证书

  • 当浏览器不信任 SSL 证书时,就会发生 NET::ERR_CERT_AUTHORITY_INVALID 错误。

  • 下面这个网址可以检测ssl证书是否正常

    https://www.myssl.cn/tools/check-server-cert.html

宝塔面板接口返回差异:手动续签时,宝塔面板会自动拼接「叶证书(服务器证书)+ 中级证书(Intermediate)」形成完整的证书链并返回;而通过/acme?action=renew_cert接口直接请求时,返回的.cert字段仅包含叶证书,未自动携带中级证书链,这是接口的默认返回行为(并非脚本逻辑错误,而是接口返回数据不完整)。

缺少中间证书

中间证书定义

  • 采用 Here Document 格式保留INTERMEDIATE_CERT的 PEM 格式完整性,避免特殊字符转义问题

  • 示例为 Let's Encrypt R3 中间证书(长期有效,如需更新可从Let's Encrypt 官方下载)

  • 若使用其他 CA 机构(如 ZeroSSL),需替换为对应中间证书

  • 拼接域名证书 + 中间证书,形成完整的二级证书链

  • 覆盖写入原fullchain.pem,确保宝塔面板读取的是完整证书链

  • 确保证书续签后配置信息同步更新,避免后续续签 / 管理出现配置不一致问题

log "✅ 证书请求续期成功,域名:${domains}"

# === 自动补全证书链(修改:拼接域名证书+中间证书) ===
log "正在补全证书链(添加R3中间证书)..."
# 拼接完整证书链:域名证书 + 中间证书(覆盖原fullchain.pem,确保宝塔部署时使用完整链)

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询