我在两台不同的机器上运行了两个nginx实例。 A
充当B
的代理,而B
本身代理某些nodejs实例。
使用B
编译ngx_http_realip_module
以获取X-Real-IP
的转发A
。这是B
的配置:
upstream request_proxy{
server 127.0.0.1:3000;
}
server {
server_name localhost;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
proxy_set_header X-NginX-Proxy true;
real_ip_header X-Real-IP;
proxy_pass http://request_proxy;
proxy_redirect off;
}
}
我request['headers']['x-real-ip']
的所有内容都是192.168.0.1
,这是A
的内部IP。
我做错了什么?
问候,
亚历
答案 0 :(得分:1)
我得到了同样的错误,好像我们需要保存真正的ip,比如proxy_set_header realip $ remote_addr;