Jak získat IP klienta z AWS, Google Cloud LB a Cloudflare v Nginx?

Nastavení webové aplikace v cloudu je vždy zábavné a vzrušující.

Nedávno jsem spustil nástroj etechblog.cz Tools, který je hostován v AWS za Cloudflare.

Používám nástroj pro vyrovnávání zatížení aplikací AWS a Nginx jako webový server. Po uvedení do života jsem se podíval na access.log a všiml jsem si, že všechny požadavky byly označeny jako pocházející z interní (load balancer) IP.

To není dobré, pokud chcete analyzovat protokoly svého webového serveru pro umístění návštěvníků. Uvědomil jsem si, že mi chybí nebo potřebuji provést nějaké konfigurační změny, abych obnovil IP klienta.

Jste ve stejné situaci jako já?

  11 způsobů, jak zajistit důvěryhodnost vašeho webu

Zde je návod, jak můžete získat IP klienta ve svých protokolech přístupu Nginx.

Získání IP návštěvníka z AWS nebo Google Cloud LB

  • Přihlaste se ke svému webovému serveru Nginx
  • Přejděte na cestu, kde je nainstalován (výchozí umístění /etc/nginx)
  • Proveďte zálohu souboru nginx.conf
  • Do bloku HTTP přidejte následující
real_ip_header X-Forwarded-For;
set_real_ip_from 0.0.0.0/0;
  • Restartujte Nginx a v souboru access.log byste měli vidět IP návštěvníka

Pokud jste za Cloudflare, uvidíte jejich IP namísto IP klienta, takže musíte také udělat níže uvedené.

Získání IP klienta z Cloudflare

Cloudflare je skvělý poskytovatel CDN a zabezpečení a naprosto ho miluji. Pokud používáte Cloudflare jako já a chtěli byste obnovit IP návštěvníka v protokolu webového serveru, můžete to udělat zde.

  Jak uložit sváteční logo Google offline

Za předpokladu, že jste přihlášeni k serveru Nginx

Udělejte si zálohu konfiguračního souboru vašeho webu (obvykle zde – /etc/nginx/sites-available/yourdomain)

Přidejte následující na začátek souboru

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;

Poznámka: Možná budete chtít ověřit seznam IP z jejich oficiální stránka.

Restartujte Nginx a nyní byste měli vidět IP klienta. To mi pomohlo a doufám, že i vám.

Dále zjistěte, jak můžete implementovat zabezpečené hlavičky pomocí Cloudflare Workers.

Užili jste si čtení článku? Co takhle sdílet se světem?

  Podívejte se, jak daleko se můžete dostat s rozpočtem pomocí různých taxislužeb