Configurar um aplicativo da Web na nuvem é sempre divertido e empolgante.
Recentemente, lancei uma ferramenta etechpt.com Tools, que está hospedada na AWS por trás da Cloudflare.
Estou usando o balanceador de carga de aplicativos da AWS e o Nginx como servidor da web. Depois de fazer vida, fui ver o access.log e notei que todas as solicitações foram marcadas como provenientes do IP interno (balanceador de carga).
Isso não é bom se você deseja analisar os logs do servidor da Web para localizar os visitantes. Percebi que estou ausente ou preciso fazer algumas alterações de configuração para restaurar o IP do cliente.
Você está na mesma situação que eu?
Bem, aqui está como você pode obter o IP do cliente em seus logs de acesso Nginx.
Obtendo o IP do visitante da AWS ou Google Cloud LB
- Entre no seu servidor web Nginx
- Vá para o caminho onde está instalado (localização padrão /etc/nginx)
- Faça um backup do arquivo nginx.conf
- Adicione o seguinte no bloco HTTP
real_ip_header X-Forwarded-For; set_real_ip_from 0.0.0.0/0;
- Reinicie o Nginx e você verá o IP do visitante em seu arquivo access.log
Se você estiver atrás do Cloudflare, verá o IP deles em vez do IP do cliente, então você também deve fazer o seguinte.
Obtendo o IP do cliente da Cloudflare
Cloudflare é um ótimo provedor de CDN e segurança, e eu simplesmente adoro isso. Se você estiver usando o Cloudflare como eu e quiser restaurar o IP do visitante no log do servidor da web, veja como fazer isso.
Supondo que você esteja logado no servidor Nginx
Faça um backup do arquivo de configuração do seu site (geralmente aqui – /etc/nginx/sites-available/yourdomain)
Adicione o seguinte no início do arquivo
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;
Nota: Você pode querer validar a lista de IP de seus Página Oficial.
Reinicie o Nginx e você deverá ver o IP do cliente agora. Isso tem me ajudado, e espero que você também.
A seguir, descubra como você pode implementar cabeçalhos seguros usando Cloudflare Workers.
Gostou de ler o artigo? Que tal compartilhar com o mundo?