Nginx proxy and real IP address

A simple code snippet that can be used to pass client and proxy IP addresses.

On the Nginx proxy add these definitions to pass client and proxy IP addresses:

proxy_set_header  X-Real-IP  $remote_addr;
proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;

On the second Nginx server you just need to add two lines:

set_real_ip_from   10.0.0.1; # proxy address
real_ip_header     X-Real-IP;

Where X-Real-IP, X-Forwarded-For contains client IP address and Host contains proxy IP address.

Milosz Galazka's Picture

About Milosz Galazka

Milosz is a system administrator working for a successful Polish company and a long time supporter of Free Software Foundation and Debian operating system.

Gdansk, Poland https://sleeplessbeastie.eu