前面是一个四层转发(比如 HAProxy 的 TCP 模式),nginx 看到的来源永远是 127.0.0.1。四层没有 HTTP 头可加,要用 PROXY protocol。
# haproxy
server web 127.0.0.1:8443 send-proxy-v2
# nginx
listen 127.0.0.1:8443 ssl proxy_protocol;
set_real_ip_from 127.0.0.1;
real_ip_header proxy_protocol;
注意两边必须同时改,只改一边会直接握手失败。