← 返回首页

Nginx 反向代理配置踩坑记录

2026-10-08 · 阅读 1,234

上周给博客加 HTTPS 的时候遇到个坑,记录一下。

问题现象

配置完反向代理后,后端应用一直判断当前是 http 请求,导致生成的 URL 全是 http:// 开头,浏览器报混合内容错误。

排查过程

一开始以为是证书没配好,检查了半天发现证书没问题。后来看了后端日志,发现 X-Forwarded-Proto 头根本没传过去。

解决方法

在 Nginx 配置里加上:

proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;

重启 Nginx,问题解决。教训:proxy_set_header 宁可多写不要少写。