Hey,
maybe the solution is really simple, but i can't find it.
nginx (1.2.1) handles ssl and proxies the traffic to the backend (varnish, which also handles http):
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:80;
}
The requests are sent to varnish, in the varnish logs i see them, they look like (shortened):
127.0.0.1 - - [30/Jan/2013:16:06:54 +0100] .........
So varnish receives 127.0.0.1 from nginx, but i want varnish to receive the external ip.
For testing reasons i switched the ip to the lan ip (which varnish also listens to):
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://192.168.0.1:80;
}
And now the requests in varnish log look like:
192.168.0.1 - - [30/Jan/2013:16:16:25 +0100] .........
Well, where's the error? How can it be done that varnish receives the external ip (smth. like 84.156.23.145) from nginx? I suppose it's quite simple but i can't see it... :-/