Since Cloudflare acts as a reverse proxy, when it's configured as expected, all connections to your origin webserver come from Cloudflare's IP addresses, and that may or may not be a problem for you:
- 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
- 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. Any of these two can be used to either restore the originating IP of your visitor for your web application, or to be included in your logs.
Restoring the original visitor IP for your web application
Please use the following Nginx module and the following configuration parameters:
# use any of the following two
NB: That list of prefixes needs to be updated regularly, and we publish the full list of here: Cloudflare's IP addresses.
Including the original visitor IP in your logs
You can include the variables $http_cf_connecting_ip and $http_x_forwarded_for in the log_format directive.
Also see: Cloudflare and Nginx