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