Lista de permissões baseada em localização de IPs em servidores web nginx por trás do Elastic Load Balancer

3

Eu executo servidores web nginx por trás de um balanceador de carga elástico na AWS. O IP real é obtido através do X-Forwarded-For. O problema enfrentado é como usar isso para negar tudo e colocar na lista de permissões somente fontes específicas para locais específicos.

Algo como: localização / teste / { inclua /etc/nginx/allowed-XForwardedFor.conf; negar tudo; }

Posso pegar o IP X-Forwarded-For com uma variável e depois usá-lo no arquivo conf ou de alguma forma usá-lo com a opção allow em locais ou fazê-lo com a ajuda de um if condicional?

    
por linuxtester 24.07.2014 / 14:53

1 resposta

3

Use o módulo nipx realip , e você não precisa se preocupar com o X- Cabeçalho Forwarded-For; você pode simplesmente agir em endereços IP como se o balanceador de carga não estivesse lá.

Uma configuração de amostra:

http {
        real_ip_header X-Forwarded-For;
        set_real_ip_from 172.19.0.0/16; # Netblock for my ELB's
    
por 24.07.2014 / 18:46