ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Неправильный remote addr


  • To: nginx-ru@xxxxxxxxx
  • Subject: Re: Неправильный remote addr
  • From: Никита Козлов <niakrisn@xxxxxxxxx>
  • Date: Sat, 21 Aug 2010 10:13:57 +0400
  • Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:content-type; bh=QwW+BroZNiQvrh6RsXjkegXU1kQg8rGPBJqy/B2ZDnc=; b=ljVVYQxYDHOAWXHO6skCDS6GNxTG5wVxRzCo8SlZgHt/w8P/HwxU0ZazJqrRXSrFQl Abru3HmK1G9ljC7iFcFjf64Bf1SgKnjHfcuG1OS1JGaqxPImomcCZ31VGKXFgagFhecv 7eOtFFwg3hZwIgwHOXdL2o0+2zuni0ACD1Ueo=
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; b=eRUVpA2Kj3JBWdPCaDyPn32LP+OAfS/1V4I69vZ0pLm1Jo4q/8VkisQOWXnKg2Kuxw uwwHr2feynHeYTC3yF6HkUKA9SPW9vFX6WBui5FuPqjfQCJONZzCwScu4bfz+gATN7GA ART5oFS8wQFImJ/B1TU8sVTilVeuzrAxJg64Q=
  • In-reply-to: <14fd44ee57cfce6db2f45d547409eb7a.NginxMailingListRussian@xxxxxxxxxxxxxxx>
  • References: <14fd44ee57cfce6db2f45d547409eb7a.NginxMailingListRussian@xxxxxxxxxxxxxxx>

Нет, если на сетевом интерфейсе более одного IP, то исходящий адрес ОС будет выбирать по некоторому алгоритму и обычно это самый первый IP на этом интерфейсе.

В 0.8.22+ есть proxy_bind, fastcgi_bind и memcached_bind которые позволяют выставить исходящий IP для проксируемых запросов.


21 августа 2010 г. 9:05 пользователь zdm <nginx-forum@xxxxxxxx> написал:
Имеется такой конфиг:

#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).
Разве при проксируемый запрос не
должен отправляться с того-же адреса,
на который пришел клиентский запрос?

Posted at Nginx Forum: http://forum.nginx.org/read.php?21,121999,121999#msg-121999


_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru

_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.