事情本身不复杂,线索都在日志里。服务器之间用自签证书做内网 HTTPS,脚本调用时报证书不受信任,加上跳过校验的参数能过,但不符合安全要求。

把日志和配置对完,能解释这个现象的基本就这几处。自签证书的签发者不在系统信任库里。少数情况下是证书里的域名与实际访问地址不一致。

还有一种情况,证书链不完整,缺少中间证书。

动手时先确认具体报错类型

curl -v https://内网地址 2>&1 | grep -i certificate

再往下把自签根证书放进信任目录

cp root.crt /etc/pki/ca-trust/source/anchors/

刷新系统信任库

update-ca-trust extract

末了重新验证校验是否通过

curl -I https://内网域名

怎么算真的好了,看的是同一批现象。脚本不再报证书不受信任,也不需要额外添加跳过校验的参数。

跳过校验等于关掉了中间人防护,只适合临时排障;内网服务同样应该走正规签发或者自建受信任的根证书。如果同一现象隔几天又出现,说明根因没找到,别当偶发处理。

作者 9823189