Re: Неправильный remote addr
Igor Sysoev
igor на sysoev.ru
Сб Авг 21 10:38:18 MSD 2010
On Sat, Aug 21, 2010 at 01:05:27AM -0400, zdm wrote:
> Имеется такой конфиг:
>
> #SERVER_1
> server {
> listen 78.159.118.168:81;
> listen 78.159.118.162:81;
> listen 78.159.118.162:80;
>
> location / {
> proxy_pass http://78.159.118.162:8080;
> proxy_set_header X-Real-IP $remote_addr;
> proxy_set_header X-Forwarded-For
> $proxy_add_x_forwarded_for;
> }
> }
>
> #SERVER_2
> server {
> listen 78.159.118.162:8080;
>
> location / {
> fastcgi_pass unix:/tmp/fcgi.sock;
> fastcgi_param QUERY_STRING $query_string;
> fastcgi_param REQUEST_METHOD $request_method;
> fastcgi_param CONTENT_TYPE $content_type;
> fastcgi_param CONTENT_LENGTH $content_length;
> fastcgi_param HTTP_X_REAL_IP $http_x_real_ip;
> fastcgi_param HTTP_X_FORWARDED_FOR
> $proxy_add_x_forwarded_for;
> fastcgi_param PATH_INFO $uri;
> }
> }
>
>
> Клиентские запросы приходят на SERVER_1, он
> проксирует их на SERVER_2, а тот, в свою
> очередь, на FCGI приложение.
> Проблема:
> Значение переменной $remote_addr в конфиге
> SERVER_2 всегда равно 78.159.118.162, не зависимо
> от того, на какой ip пришел клиентский
> запрос на SERVER_1 (на 78.159.118.162 или на
> 78.159.118.168).
> Разве при проксируемый запрос не
> должен отправляться с того-же адреса,
> на который пришел клиентский запрос?
Разумеется, не должен.
http://sysoev.ru/nginx/docs/http/ngx_http_realip_module.html
--
Игорь Сысоев
http://sysoev.ru
Подробная информация о списке рассылки nginx-ru