When using a proxy server, the clients don't have a direct connection to the upstream servers. The upstream servers, therefore, aren't able to get information directly from those clients. Any information, such as the client's IP address, would need to be passed via headers. NGINX provides this with the
proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
The client's IP address will then be available in both the
X-Forwarded-For headers. The second form takes a client request header into account. If present, the IP address of the request will be added to the
X-Forwarded-For header from the client, separated by a comma. ...