You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure CLI GitHub Action内HTTP请求触发SSL证书过期错误咨询

故障根因
  • 你所使用的azure/CLI@1.0.4以及指定的azcliversion: 2.0.72属于多年前的老旧版本,其对应的运行容器镜像内置的根证书信任列表长期未更新。如果目标API的服务端证书是由已过期的旧根证书交叉签名的(比如2021年已过期的DST Root CA X3根证书),旧环境的curl在校验证书链时会匹配到过期的根证书,就会抛出证书过期错误。
  • 本地设备的根证书列表会随系统更新自动维护,已经移除了过期的旧根证书,同时内置了对应的新有效根证书,校验证书链时会走有效的信任路径,因此可以正常发起请求。
  • 你可以在工作流的脚本中新增两行命令验证差异:执行curl --version查看工作流环境的curl版本,执行awk -v cmd='openssl x509 -noout -subject -enddate' '/BEGIN/{close(cmd)};{print | cmd}' < /etc/ssl/certs/ca-certificates.crt导出所有内置根证书的有效期,和本地执行的结果对比即可确认差异。
修复方案
  • 首选方案:升级Azure CLI Action及对应CLI版本。将uses: azure/CLI@1.0.4替换为最新的v2正式版,azcliversion指定为2.50.0及以上的稳定版,新版镜像已经同步了最新的根证书信任列表,绝大多数场景下可以直接解决问题。
  • 如果你必须保留当前的旧版本CLI,可以选择两种临时修复方式:一是在curl命令后添加--cacert [有效根证书文件路径]参数,手动指定目标API对应的有效根证书;二是在执行业务脚本前先执行根证书更新命令,Debian系镜像执行apt update && apt install -y ca-certificates,Alpine系镜像执行apk add --no-cache ca-certificates。
  • 仅调试场景可以在curl命令中添加-k参数跳过SSL证书校验,该方式存在安全风险,禁止在生产工作流中使用。

内容的提问来源于stack exchange,提问作者sdgluck

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 18:36:04