Wie bekomme ich Client-IP von AWS, Google Cloud LB und Cloudflare in Nginx?

Das Einrichten einer Webanwendung in der Cloud macht immer Spaß und ist spannend.

Kürzlich habe ich ein wdzwdz Tools-Tool gestartet, das in AWS hinter Cloudflare gehostet wird.

Ich verwende den AWS Application Load Balancer und Nginx als Webserver. Nachdem ich das Leben erstellt hatte, sah ich mir das access.log an und bemerkte, dass alle Anfragen als von einer internen IP (Load Balancer) stammend gekennzeichnet waren.

Dies ist nicht gut, wenn Sie Ihre Webserver-Protokolle auf Besucherstandorte analysieren möchten. Ich habe festgestellt, dass ich einige Konfigurationsänderungen vermisse oder vornehmen muss, um die Client-IP wiederherzustellen.

  So listen Sie alle Anwendungen auf einem Mac auf

Bist du in der gleichen Situation wie ich?

Nun, hier erfahren Sie, wie Sie die Client-IP in Ihren Nginx-Zugriffsprotokollen abrufen können.

Abrufen der Besucher-IP von AWS oder Google Cloud LB

  • Melden Sie sich bei Ihrem Nginx-Webserver an
  • Gehen Sie zu dem Pfad, in dem es installiert ist (Standardspeicherort /etc/nginx)
  • Erstellen Sie eine Sicherungskopie der Datei nginx.conf
  • Fügen Sie Folgendes unter HTTP-Block hinzu
real_ip_header X-Forwarded-For;
set_real_ip_from 0.0.0.0/0;
  • Starten Sie Nginx neu und Sie sollten die IP des Besuchers in Ihrer access.log-Datei sehen
  So verwenden Sie das Screenshot-Tool für Zoom-Meetings

Wenn Sie sich hinter Cloudflare befinden, sehen Sie deren IP anstelle der IP des Clients, also müssen Sie auch das Folgende tun.

Abrufen der Client-IP von Cloudflare

Cloudflare ist ein großartiger CDN- und Sicherheitsanbieter, und ich liebe es absolut. Wenn Sie Cloudflare wie ich verwenden und die Besucher-IP im Webserver-Protokoll wiederherstellen möchten, können Sie dies folgendermaßen tun.

Angenommen, Sie sind beim Nginx-Server angemeldet

Erstellen Sie eine Sicherungskopie Ihrer Site-Konfigurationsdatei (normalerweise hier – /etc/nginx/sites-available/yourdomain)

Fügen Sie am Anfang der Datei Folgendes hinzu

set_real_ip_from 103.21.244.0/22;
set_real_ip_from 103.22.200.0/22;
set_real_ip_from 103.31.4.0/22;
set_real_ip_from 104.16.0.0/13;
set_real_ip_from 104.24.0.0/14;
set_real_ip_from 108.162.192.0/18;
set_real_ip_from 131.0.72.0/22;
set_real_ip_from 141.101.64.0/18;
set_real_ip_from 162.158.0.0/15;
set_real_ip_from 172.64.0.0/13;
set_real_ip_from 173.245.48.0/20;
set_real_ip_from 188.114.96.0/20;
set_real_ip_from 190.93.240.0/20;
set_real_ip_from 197.234.240.0/22;
set_real_ip_from 198.41.128.0/17;
set_real_ip_from 199.27.128.0/21;
set_real_ip_from 2400:cb00::/32;
set_real_ip_from 2606:4700::/32;
set_real_ip_from 2803:f800::/32;
set_real_ip_from 2405:b500::/32;
set_real_ip_from 2405:8100::/32;
set_real_ip_from 2c0f:f248::/32;
set_real_ip_from 2a06:98c0::/29;
real_ip_header CF-Connecting-IP;

Hinweis: Möglicherweise möchten Sie die IP-Liste von deren validieren Offizielle Seite.

  So sehen Sie, welches Programm Ihre gesamte CPU auf dem Mac verwendet

Starten Sie Nginx neu, und Sie sollten jetzt die Client-IP sehen. Das hat mir geholfen und ich hoffe euch auch.

Finden Sie als Nächstes heraus, wie Sie mit Cloudflare Workers sichere Header implementieren können.

Haben Sie den Artikel gerne gelesen? Wie wäre es mit der Welt zu teilen?