FXXT技术栈标志FXXT技术栈Linux、Docker、Nginx 与后端运维全部 Runbook

RUNBOOK / Nginx / TLS

curl/OpenSSL 证书校验错误:完整链、SNI 与系统 CA

curl 报 SSL certificate problem,OpenSSL 显示 verify error。

故障现象与判断依据

最可能原因

先检验证书链、SNI 主机名和系统 CA 包;-k 只能用于受控的临时诊断,不能作为生产修复。

典型输出 · 公开案例或官方资料LOG
connect() failed (111: Connection refused) while connecting to upstream
SSL certificate problem: unable to get local issuer certificate

安全诊断

以下命令用于读取状态、验证解析或复现请求;先确认目标主机、权限与影响范围。命令中的占位符必须替换为当前环境的实际值。

ShellREAD / VERIFY
nginx -t
curl -sv http://127.0.0.1:<port>/health
openssl s_client -connect host:443 -servername host -showcerts
curl -Iv https://host

推荐修复步骤

  1. 1在受控网络环境中执行 openssl s_client -connect host:443 -servername host -showcerts。
  2. 2仅通过已配置的本地 Clash 代理用 curl -Iv https://host 对比系统客户端结果。
  3. 3修复服务端完整链或客户端可信 CA 后,重新验证主机名。

验证、限制与回滚

修复后的验证

curl 无 -k 成功,openssl verify 显示 Verify return code: 0。

风险提示与回滚

不要以关闭证书校验、删除全部缓存、无限重试、关闭防火墙或放宽到 chmod 777 来替代根因定位。任何配置变更前先保留原文件和校验结果;若验证失败,恢复该备份并重新采集日志。

可信来源与适用边界

参考来源Module ngx_http_proxy_module

upstream proxy configuration 此页将环境级案例与本 Runbook 的检查步骤分开呈现,不能把示例日志当作当前服务器的真实事件。