Как с помощью Nginx сохранить IP-адрес клиента при использовании proxy_pass?

У меня есть простой proxy_pass в NGINX, который выглядит так:

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-адрес сервера).

Как я могу сохранить IP-адрес клиента после proxy_pass?


person alexandernst    schedule 26.01.2016    source источник
comment
С установленным заголовком прокси (X-Real-IP) проверьте $_SERVER['X-REAL-IP'] в php.   -  person Scott    schedule 26.01.2016
comment
@ Скотт, я получаю undefined index. Пробовал и X-REAL-IP и X-Real-IP.   -  person alexandernst    schedule 26.01.2016