http://sysoev.ru/nginx/docs/http/ngx_http_proxy_module.html#variables
$proxy_add_x_forwarded_for, эта переменная равна строке заголовка
запроса клиента "X-Forwarded-For" и добавленной к ней через запятую
переменной $remote_addr. Если же строки "X-Forwarded-For" в запросе
клиента нет, то переменная $proxy_add_x_forwarded_for равна переменной
$remote_addr.
On 6/1/06, Nadorvir <admin@xxxxxxxx> wrote:
Приветствую ALL.
Имеем конфиг nginx`a:
location / {
proxy_pass http://127.0.0.1:80/;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Real-IP $remote_addr;
proxy_redirect http://127.0.0.1:80/http://$host:$server_port/;
proxy_set_header Host $host;
}
на бекэнде весит апач 2.2
скрипт видит remote_addr который равен $remote_addr в nginx`е. т.е.
видно реально откуда к нам пришли, но при этом мы теряем X-Forwarded-for в
случае
если он задан клиентом. всё что видит Nginx в заголовке
X-Forwarder-for он пишет в remote_addr для бэкенда.
если убрать строчку
proxy_set_header X-Forwarded-For $remote_addr;
то в заголовках remote_addr становится равен 127.0.0.1 - клиентом
становится Nginx.
так вот, каким образом можно не портя заголовки сделать нормальную передачу
remote_addr и X-Forwarded-For клиента на бекэнд?
--
С уважением,
Nadorvir mailto:admin@xxxxxxxx