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

drmarker drmarker at gmail.com
Thu Jun 1 22:19:18 MSD 2006


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 at fatal.ru> 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 at fatal.ru
>
>
>


More information about the nginx-ru mailing list