Nginx 配置添加以下内容:

1
2
3
4
5
location / {
proxy_pass http://127.0.0.1:8000;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

其含义就是在反代时,在客户端发起的请求报文上添加 X-Real-IPX-Forwarded-For 两个 HTTP 头。X-Real-IP 表示表观客户端地址,X-Forwarded-For,顾名思义,就是“为谁代理”的意思,这个可以用来嵌套式传输客户端真实地址。

被代理的服务,只要能正确解析这两个头,就能获得客户端真实地址。