Добрый день.
Имеется связка Nginx -> Varnish -> Apache.
Nginx добавляет ip клиента как X-forwarded for, Varnish к нему приклеивает ip nginx'а
Apache через mod_rpaf выставляет REMOTE_IP на ip nginx-а, а не на клиента.
Если убрать varnish, все работает как нужно — получаем адрес клиента в лог апача.
Как сделать так, чтоб и в текущей связке скрипты в remote-ip получали ip-клиента?
Часть конфига nginxproxy_pass <a href="http://127.0.0.1">127.0.0.1</a>:8081;<br/>
proxy_set_header Host $host;<br/>
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;<br/>
proxy_set_header X-Real-IP $remote_addr;
Часть конфига Аpache2LoadModule rpaf_module modules/mod_rpaf.so<br/>
RPAFenable on<br/>
RPAFsethostname On<br/>
RPAFproxy_ips 127.0.0.1<br/>
Конфиг Vanisha — стандартный (пробовались и не слишком стандартные варианты, не заработало). Если убрать varnish, все работает как нужно.
Как сделать так, чтоб и в исходной связке скрипты в remote-ip получали ip-клиента?
Спасибо.
UPDATE
Самое забавное, что все эти данные видно — varnishlog -c -o SessionOpen $IP, но дальше варниша они не уходят:
13 RxHeader c X-Forwarded-For: 90.157.47.15<br/>
13 RxHeader c X-Real-IP: 90.157.47.15<br/>
13 RxHeader c X-Forwarded-For-nginx: 90.157.47.15-nginx<br/>
13 RxHeader c X-Real-IP-nginx: 90.157.47.15<br/>