RUNBOOK / Nginx / TLS
Nginx upstream connect 失败:监听地址与反向代理分层
Nginx 返回 502,error.log 出现 connect() failed 或 upstream timed out。
故障现象与判断依据
最可能原因
应分别验证后端 loopback、Nginx 到后端的连接以及最终 HTTPS 响应,避免只重启 Nginx。
LOGconnect() failed (111: Connection refused) while connecting to upstream
SSL certificate problem: unable to get local issuer certificate安全诊断
以下命令用于读取状态、验证解析或复现请求;先确认目标主机、权限与影响范围。命令中的占位符必须替换为当前环境的实际值。
READ / VERIFYnginx -t
curl -sv http://127.0.0.1:<port>/health
openssl s_client -connect host:443 -servername host -showcerts
curl -Iv https://host推荐修复步骤
- 1检查 nginx -t,并从本机 curl 后端监听地址。
- 2查看 error.log 中的 upstream 地址、超时和连接错误。
- 3修复后端监听/防火墙/超时配置后 reload Nginx。
验证、限制与回滚
修复后的验证
Nginx 配置校验通过,反代路径返回预期状态且没有新增 upstream 错误。
风险提示与回滚
不要以关闭证书校验、删除全部缓存、无限重试、关闭防火墙或放宽到 chmod 777 来替代根因定位。任何配置变更前先保留原文件和校验结果;若验证失败,恢复该备份并重新采集日志。
可信来源与适用边界
参考来源Module ngx_http_proxy_module ↗
upstream proxy configuration 此页将环境级案例与本 Runbook 的检查步骤分开呈现,不能把示例日志当作当前服务器的真实事件。