使用Nginx,如何在使用proxy_pass时保留客户端的IP地址?

时间:2016-01-26 19:27:28

标签: php nginx proxypass

我在NGINX中有一个简单的proxy_pass,如下所示:

location / {
    proxy_pass https://foo.bar/API/;
    rewrite ^/API/(.*) /$1;
}

当我在最终目的地上打印$_SERVER["REMOTE_ADDR"];(PHP)时(在重定向后到达),我看到服务器的IP而不是客户端的IP。

我尝试添加

proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE_ADDR $remote_addr;

location /以保留客户端的IP,但这不起作用(我一直看到服务器自己的IP)。

如何在proxy_pass之后保留客户端的IP?

1 个答案:

答案 0 :(得分:1)

这是How to pass the Remote IP to a proxied service in Nginx的副本。

此外,Nginx问题在serverfault.com上更合适。