фокусы с заголовками - remote_addr и x_forwarded_for

Nadorvir admin at fatal.ru
Thu Jun 1 20:22:13 MSD 2006


Приветствую 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 at fatal.ru






More information about the nginx-ru mailing list