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

使用Iron Worker发起请求时出现CERT_HAS_EXPIRED证书过期错误求助

Iron Worker 请求证书过期报错排查方案

你遇到的报错如下:

{ [FetchError: request to https://xxxx/api/send-mail failed, reason: certificate has expired]
  message: 'request to https://xxxx/api/send-mail failed, reason: certificate has expired',
  type: 'system',
  errno: 'CERT_HAS_EXPIRED',
  code: 'CERT_HAS_EXPIRED' }

在已确认源站证书正常的前提下,可按以下优先级排查:

  • 核验Iron Worker运行环境的根证书库
    多数Serverless运行环境的根CA证书列表更新滞后,若你的站点使用了近年新投产的根CA(比如Let's Encrypt的ISRG Root X1),旧版本的Iron Worker镜像中可能没有收录对应根CA,导致证书校验失败。你可以在测试任务中打印请求目标返回的完整证书链,和你本地核验的源站证书链做比对,确认是否存在根证书缺失的问题。
  • 排查请求链路中间节点证书
    如果Iron Worker的出口流量经过平台自带的代理、WAF,或是你自行配置的转发网关,可能是中间节点的证书过期,而非你的源站证书。可在Iron Worker任务中执行openssl s_client -connect 你的域名:443 -servername 你的域名,输出的证书有效期、颁发者信息和源站证书不一致的话,即可定位是中间链路的问题。
  • 检查请求SNI配置
    若你的源站同IP部署了多个HTTPS站点,旧版本的HTTP请求库发起请求时可能没有携带SNI扩展,导致服务器返回了同IP下其他站点的过期证书。你可以在请求代码中显式开启SNI配置,验证是否能解决问题。
  • 临时校验方案
    排查阶段可以在请求配置中临时添加rejectUnauthorized: false(Node.js环境下fetch、axios等库均支持该参数)跳过证书校验,确认请求是否能正常通,先排除非证书类的其他问题,注意该配置仅可用于测试,生产环境禁止开启。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 06:36:08