А РХИВ :: 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