Når trafikk til nettstedet routes gjennom Cloudflares nettverk, fungerer Cloudflare som en reverse proxy. Dette gjør at Cloudflare kan redusere tiden det tar for å laste inn en nettside ved å finne mer effektive veier å route trafikken på, cache statisk innhold (bilder, scripts, CSS, etc). Som et resultat av dette vil din egen webserver logge Cloudflares IP-adresser i webloggene.
Hvis man for eksempel installerer en webapplikasjon som er avhengig av IP-adressen til den opprinnelige besøkende, så logges en Cloudflare-IP-adresse som standard. IP-adressen til den opprinnelige besøkende vises i en ekstra header kalt CF-Connecting-IP.
Illustrasjonen under (fra Cloudflare) viser hvordan IP-adresser håndteres med og uten Cloudflare:
Gitt at man bruker Apache som webserver, så finnes det en webservermodul for å komme seg rundt dette problemet: mod_remoteip.
For å installere mod_remoteip på Debian/Ubuntu-servere, gjør som følger:
% sudo a2enmod remoteip
/etc/apache2/sites-available/000-default.conf:
ServerAdmin webmaster@localhost DocumentRoot /var/www/html ServerName remoteip.example.com RemoteIPHeader CF-Connecting-IP ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined
apache.conf
, og erstatt %h med %a i /etc/apache2/apache2.conf.
For eksempel, hvis nåværende LogFormat vises som følger:LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combinedså oppdaterer du det til
LogFormat "%a %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
/etc/apache2/conf-available/remoteip.conf
og legg inn alle IP-adressene til Cloudflare:RemoteIPHeader CF-Connecting-IP RemoteIPTrustedProxy 173.245.48.0/20 RemoteIPTrustedProxy 103.21.244.0/22 RemoteIPTrustedProxy 103.22.200.0/22 RemoteIPTrustedProxy 103.31.4.0/22 RemoteIPTrustedProxy 141.101.64.0/18 RemoteIPTrustedProxy 108.162.192.0/18 RemoteIPTrustedProxy 190.93.240.0/20 RemoteIPTrustedProxy 188.114.96.0/20 RemoteIPTrustedProxy 197.234.240.0/22 RemoteIPTrustedProxy 198.41.128.0/17 RemoteIPTrustedProxy 162.158.0.0/15 RemoteIPTrustedProxy 104.16.0.0/12 RemoteIPTrustedProxy 172.64.0.0/13 RemoteIPTrustedProxy 131.0.72.0/22 RemoteIPTrustedProxy 2400:cb00::/32 RemoteIPTrustedProxy 2606:4700::/32 RemoteIPTrustedProxy 2803:f800::/32 RemoteIPTrustedProxy 2405:b500::/32 RemoteIPTrustedProxy 2405:8100::/32 RemoteIPTrustedProxy 2a06:98c0::/29 RemoteIPTrustedProxy 2c0f:f248::/32
% sudo a2enconf remoteip Enabling conf remoteip. To activate the new configuration, you need to run: service apache2 reload
% sudo apache2ctl configtest Syntax OK
% sudo systemctl restart apache2