
将容器服务暴露到公网时,Nginx 常用于统一域名、TLS 和访问日志。配置看似简单,但请求头、超时和上传限制设置不当会产生难定位的问题。
1. 先确认上游地址
若 Nginx 与应用在同一 Compose 网络中,使用服务名和容器端口;若 Nginx 在宿主机上,则使用映射到本机的端口。
2. 传递真实客户端信息
设置 Host、X-Real-IP、X-Forwarded-For 和 X-Forwarded-Proto,让应用正确生成链接、记录来源并判断 HTTPS。
3. 按业务设置超时和上传限制
普通接口保持较短超时,AI 推理或大文件上传可单独放宽。不要把全站超时无限调大掩盖性能问题。
4. 修改后验证并平滑重载
先运行 nginx -t 检查语法,再 reload。用 curl 检查状态码、重定向、响应头和大文件上传。
常见误区
- 把容器内部端口写错
- 遗漏 X-Forwarded-Proto
- 全局设置过大超时
- 未测试配置就重启服务
执行检查清单
- 上游可从 Nginx 所在环境访问
- 真实 IP 请求头正确
- HTTP 自动跳转 HTTPS
- 配置检查通过
总结
可靠的反向代理配置应尽量简单,并针对少数特殊接口单独调整。每次修改都用实际请求验证。