nginx лак nginx php-fpm: реальный ip для _SERVER php ['REMOTE_ADDR']
Это конкретный вопрос.
Сервер Nginx (назовем его N1) прослушивает: 80 и пересылает лакировку с proxy_pass. Varnish прослушивает 127.0.0.1:6081 и пересылает Nginx (N2) на 8080. N2 обращается к сокету php-fpm.
N1<> В <>N2<> Р
N1:
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_pass http://varnish/;
proxy_redirect off;
}
В настоящее время
$_SERVER['REMOTE_ADDR'] == '127.0.0.1'
желательно
$ _SERVER ['REMOTE_ADDR'] == 'Настоящий удаленный адрес'
1 ответ
Решение
Это конкретный ответ.;)
Вы можете добавить x-forwarded-for в N1, пропустив через лак и N2 в fastcgi:
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
Тогда в fastcgi params:
fastcgi_param REMOTE_ADDR $http_x_forwarded_for;