Forward IP address to proxied server


#1

Hi everyone,

I’m using nginx as a reverse proxy for a thttpd server that handles cgi
scripts.
Everything works ok, except that the server doesn’t seem to receive any
visitor info, every IP is interpreted as 127.0.0.1.

This is the config, that I’m using to forward requests:

location ~ .cgi$ {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:30001;
}

nginx -V

nginx version: nginx/0.6.31
built by gcc 4.1.2 20070626 (Red Hat 4.1.2-14)
configure arguments: --prefix=/opt/local/nginx
–sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf
–error-log-path=/var/log/nginx/error.log
–http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid
–lock-path=/var/lock/subsys/nginx --user=nginx --group=nginx
–with-http_ssl_module --with-http_flv_module --with-http_dav_module


#2

sounds like a thttpd config issue :stuck_out_tongue:

unless thttpd has a way to say that “x-forwarded-for” is the true ip,
you’re going to have to modify the app to use that IP etc


#3

Wanted to provide a solution to this thread since it still applies:

http://wiki.nginx.org/ThttpdRealIP

Cliff