Непонятная ошибка в header.

Igor Sysoev is at rambler-co.ru
Wed Sep 10 09:50:10 MSD 2008


On Tue, Sep 09, 2008 at 04:53:13PM +0300, maxhl at hitline.net.ua wrote:

> >Что предполагается достигнуть вот этим набором:
> >> proxy_set_header  X_SRC_CLIENT_IP       $http_x_src_client_ip;             Отрабатывает только при первом открытии скрипта как в пхп так и в перл. Потом этой переменной просто нет в хеше ... :-(
> >> proxy_set_header  X-Real-IP             $http_x_src_client_ip;                      Неотрабатывает ... всегда ремоте адрес как в переменной окружения так и в логе - адрес сокс сервера.
> >>set_real_ip_from   192.168.1.4;          ип с которому доверяем ... 
> >> real_ip_header     X-Real-IP;
> 
> >proxy_set_header никакого отношения к fastcgi не имеет.
> >fastcgi модуль должен сам автоматически передавать клиентский
> >X_SRC_CLIENT_IP в виде HTTP_X_SRC_CLIENT_IP. Где его нужно выуживать
> >на стороне PHP, я не знаю.
> > > Игорь Сысоев
> > > http://sysoev.ru
> > > 
> из PHP Variables ... он передается но только 1 раз ... :-( все последующие запросы с данного ипа эта переменная в хеше пустая ... :-(

Ещё раз, всё, что описывается директивами proxy_set_header, не имеет никакого
отношения к FastCGI. Никакого. Это параллельные миры.

Второе, для того, чтобы убедиться, что клиент действительно передаёт nginx'у
X_SRC_CLIENT_IP во всех запросах, нужно писать его ($http_x_src_client_ip)
в access_log. Только убедившись в этом, можно разбираться, почему nginx
не передаёт его FastCGI.

Третье,

set_real_ip_from   192.168.1.4;
real_ip_header     X-Real-IP;

не имеют никакого отношение к X_SRC_CLIENT_IP. Всё, что делают эти директивы,
это подмена переменной $remote_addr на значение заголовка X-Real-IP,
пришедшего в запросе с адреса 192.168.1.4.


-- 
Игорь Сысоев
http://sysoev.ru





More information about the nginx-ru mailing list