Так вопрос был вроде не в том почему в $remote_addr нет реального IP клиента, а в том почему переменная всегда содержит 78.159.118.162.<div><br></div><div>Клиентский запрос приходит на 78.159.118.168, а и ожидается, что на проксируемый сервер запрос придет с 78.159.118.168, но приходит с 78.159.118.162.</div>
<div><br><div class="gmail_quote">21 августа 2010 г. 10:39 пользователь Igor Sysoev <span dir="ltr"><<a href="mailto:igor@sysoev.ru">igor@sysoev.ru</a>></span> написал:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class="im">On Sat, Aug 21, 2010 at 10:13:57AM +0400, Никита Козлов wrote:<br>
<br>
> Нет, если на сетевом интерфейсе более одного IP, то исходящий адрес ОС будет<br>
> выбирать по некоторому алгоритму и обычно это самый первый IP на этом<br>
> интерфейсе.<br>
><br>
> В 0.8.22+ есть proxy_bind, fastcgi_bind и memcached_bind которые позволяют<br>
> выставить исходящий IP для проксируемых запросов.<br>
<br>
</div>Но поставить туда адрес клиента принципиально невозможно.<br>
<div><div></div><div class="h5"><br>
> 21 августа 2010 г. 9:05 пользователь zdm <<a href="mailto:nginx-forum@nginx.us">nginx-forum@nginx.us</a>> написал:<br>
><br>
> > Имеется такой конфиг:<br>
> ><br>
> > #SERVER_1<br>
> > server {<br>
> > listen <a href="http://78.159.118.168:81" target="_blank">78.159.118.168:81</a>;<br>
> > listen <a href="http://78.159.118.162:81" target="_blank">78.159.118.162:81</a>;<br>
> > listen <a href="http://78.159.118.162:80" target="_blank">78.159.118.162:80</a>;<br>
> ><br>
> > location / {<br>
> > proxy_pass <a href="http://78.159.118.162:8080" target="_blank">http://78.159.118.162:8080</a>;<br>
> > proxy_set_header X-Real-IP $remote_addr;<br>
> > proxy_set_header X-Forwarded-For<br>
> > $proxy_add_x_forwarded_for;<br>
> > }<br>
> > }<br>
> ><br>
> > #SERVER_2<br>
> > server {<br>
> > listen <a href="http://78.159.118.162:8080" target="_blank">78.159.118.162:8080</a>;<br>
> ><br>
> > location / {<br>
> > fastcgi_pass unix:/tmp/fcgi.sock;<br>
> > fastcgi_param QUERY_STRING $query_string;<br>
> > fastcgi_param REQUEST_METHOD $request_method;<br>
> > fastcgi_param CONTENT_TYPE $content_type;<br>
> > fastcgi_param CONTENT_LENGTH $content_length;<br>
> > fastcgi_param HTTP_X_REAL_IP $http_x_real_ip;<br>
> > fastcgi_param HTTP_X_FORWARDED_FOR<br>
> > $proxy_add_x_forwarded_for;<br>
> > fastcgi_param PATH_INFO $uri;<br>
> > }<br>
> > }<br>
> ><br>
> ><br>
> > Клиентские запросы приходят на SERVER_1, он<br>
> > проксирует их на SERVER_2, а тот, в свою<br>
> > очередь, на FCGI приложение.<br>
> > Проблема:<br>
> > Значение переменной $remote_addr в конфиге<br>
> > SERVER_2 всегда равно 78.159.118.162, не зависимо<br>
> > от того, на какой ip пришел клиентский<br>
> > запрос на SERVER_1 (на 78.159.118.162 или на<br>
> > 78.159.118.168).<br>
> > Разве при проксируемый запрос не<br>
> > должен отправляться с того-же адреса,<br>
> > на который пришел клиентский запрос?<br>
> ><br>
> > Posted at Nginx Forum:<br>
> > <a href="http://forum.nginx.org/read.php?21,121999,121999#msg-121999" target="_blank">http://forum.nginx.org/read.php?21,121999,121999#msg-121999</a><br>
> ><br>
> ><br>
> > _______________________________________________<br>
> > nginx-ru mailing list<br>
> > <a href="mailto:nginx-ru@nginx.org">nginx-ru@nginx.org</a><br>
> > <a href="http://nginx.org/mailman/listinfo/nginx-ru" target="_blank">http://nginx.org/mailman/listinfo/nginx-ru</a><br>
> ><br>
<br>
> _______________________________________________<br>
> nginx-ru mailing list<br>
> <a href="mailto:nginx-ru@nginx.org">nginx-ru@nginx.org</a><br>
> <a href="http://nginx.org/mailman/listinfo/nginx-ru" target="_blank">http://nginx.org/mailman/listinfo/nginx-ru</a><br>
<br>
<br>
</div></div><div class="im">--<br>
Игорь Сысоев<br>
<a href="http://sysoev.ru" target="_blank">http://sysoev.ru</a><br>
<br>
_______________________________________________<br>
</div><div><div></div><div class="h5">nginx-ru mailing list<br>
<a href="mailto:nginx-ru@nginx.org">nginx-ru@nginx.org</a><br>
<a href="http://nginx.org/mailman/listinfo/nginx-ru" target="_blank">http://nginx.org/mailman/listinfo/nginx-ru</a><br>
</div></div></blockquote></div><br></div>