请求链路
客户端 ==> 第一台 Nginx ==> 第二台 Nginx ==> 应用
配置
第一台 Nginx
把客户端真实IP保存到名为 x-forwarded-for 的header中:
server {
listen 8900;
server_name xxx.com;
location / {
....
proxy_set_header x-forwarded-for $remote_addr;
....
}
}
第二台 Nginx
传递名为 x-forwarded-for 的header。接收 header 的方式为$http_headerName
。例如,$http_x_forwarded_for(通用用小写,并把 -
改为 _
):
server {
listen 8900;
server_name xxx.com;
location / {
....
proxy_set_header x-forwarded-for $http_x_forwarded_for;
....
}
}