NGINX – CloudFlare und reale IP-Adressen (set_real_ip_from)

CloudFlare ist ein CDN-Hosting Anbieter. CDN heist Content-Distribution-Network und meint damit das effiziente Verteilen von Webinhalten von einer Vielzahl an Servern an die Besucher. Zudem bietet Cloudflare auch Zusatzdienste wie DDoS Protection, Analytics uns vieles mehr.

Wenn man Cloudflare vor seinem Webserver betreibt führt dies dazu, dass unser Webserver nur noch die IPs von Cloudflare in seinen Logs vermerkt. Wem die reale IP seiner Besucher wichtig ist, der kann NGINX mit folgender Konfiguration dazu bringen die Reale IP zu verwenden.

Als Grundlage dient der Artikel der Installation von NGINX unter Centos 7. Es funktioniert natürlich auch bei Installationen unter anderen Betriebsystemen.

Zuerst schauen wir ob unser NGINX mit den notwendigen Modulen kompiliert wurde.

Für die Reale IP benötigen wir folgendes Modul

und für den Fall, dass wir auch IPv6 benötigen ist dieses Modul ebenfalls erforderlich.

Sind diese Vorraussetzungen geschaffen können wir mit der Konfiguration fortfahren.

NGINX – reale IPs mit CloudFlare

In der von Knowledge Base von CloudFlare finden wir die für uns relevanten IPs. Diese fügen wir nun in die NGINX Konfiguration ein. Dazu erstellen eine neue Datei /etc/nginx/cloudflare-real-ip.conf 

mit folgenden Inhalt:

Nun können wir diese Datei für alle vHost einbinden bei denen wir Cloudflare nutzen. Dies geschieht innerhalb des Abschnitt Server.

Nach dem Neustart von NGINX sollte dieser nun der realen IPs der Besucher loggen und nicht mehr die IPs von CloudFlare.

Es loht die IPs in regelmäßigen Abständen auf der Seite von Cloudflare zu überprüfen. Es kommen am und zu ein paar neue IPs dazu.

Für weitere Information lohnt ein Blick auf die Projektseiten von NGINX und CloudFlare.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.