为什么反向代理建议配置 X-Forwarded 标头?
当 Nginx 作为反向代理站在 Node.js、Go、Python 或 Java 后端前部时,所有到达后端的 TCP 连接发起方都会变成 Nginx 本机的 `127.0.0.1`。如果不显式配置 `proxy_set_header X-Real-IP $remote_addr` 与 `X-Forwarded-Proto`,后端就无法识别用户的真实公网 IP、无法判断当前请求是否使用了 HTTPS,甚至导致重定向死循环。
WebSocket 协议升级配置说明
默认的 HTTP/1.0 代理会丢弃客户端发来的 Connection 头。为了使 Socket.io、ws 或 SSE 顺利升级,必须配置 `proxy_http_version 1.1` 并保留 `Upgrade` 与 `Connection: "upgrade"`,让单条长连接维持不中断。