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

maxhl at hitline.net.ua maxhl at hitline.net.ua
Fri Sep 12 17:36:04 MSD 2008


Вечер пятничный.
Так ничего и неполучилось с $http_x_src_client_ip и в лог пишется два из четырех раз ... :-(
Игорь посмотрите пожалуста еще раз ... может быть можно эту переменную поддерживать в пределах одной сессии (между клиентом и nginx)... чтобы не исправлять кучу скриптов ... У меня один сервер с apache остался, и только из-за этой проблемы ... :-(

С уважением Max.
maxhl at hitline.net.ua 71006063


--------------------------------------------------------------------------------


----- Original Message ----- 
From: "Igor Sysoev" <is at rambler-co.ru>
To: <nginx-ru at sysoev.ru>
Sent: Wednesday, September 10, 2008 8:50 AM
Subject: Re: Непонятная ошибка в header.


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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20080912/dc4b55ac/attachment.html>


More information about the nginx-ru mailing list