How do I restore original visitor IP with Nginx?

By default, Cloudflare acts as a reverse proxy. As such, all connections to your origin web server come from Cloudflare IP addresses, and there are some issues that you need to aware of:

If your web application is using the originating IP of the visitor as part of its logic, it will now use a Cloudflare IP address instead

If you use the content of your access logs, they now contain a Cloudflare IP address as the $remote_addr

However, Cloudflare follows industry standards and includes the visitor's IP address in the X-Forwarded-For header. We also add a CF-Connecting-IP header that may be used as well. You can use these headers to either restore the originating IP of your visitor for your web application or to be include it in your logs.

Restoring the original visitor IP for your web application

Please use the following Nginx module and the following configuration parameters: