Como agir de maneira diferente de acordo com o endereço IP com o Nginx?

1

Atualmente, tenho um aplicativo que eu quero que seja acessível para todos que vêm de dois endereços IP específicos e que protejam o mesmo aplicativo por meio do mesmo URL do usuário proveniente de outro IP.

Por exemplo, eu permito que o usuário tenha 190.190.190.110 e 190.190.190.112 . E para outras pessoas eu quero que o Nginx se refira a um arquivo htpassword.

Alguém sabe como fazer isso?

Editar: Quick Up

    
por Adrien Giboire 14.09.2011 / 15:17

3 respostas

1

Tente isto:

   location / {
        satisfy any;

        allow 82.242.75.92;
        allow 82.242.75.98;
        deny all;

        auth_basic            "Restricted";
        auth_basic_user_file  /home/password_manager/passwords;
    }
    
por 15.10.2011 / 18:23
0

Isso não foi testado ... mas algo assim pode funcionar no seu bloco de servidores

server  {
  if ($remote_addr !~* "190.190.190.[110|112]") {
     auth_basic            "Restricted";
     auth_basic_user_file  /path/to/htpasswd.file;
  }
}

minha expressão regular pode estar errada, mas essa é a essência de como fazer isso.

    
por 15.09.2011 / 14:46
0

Eu não acho que você pode restringir a autenticação básica baseada em IP diretamente, mas você pode forçar um redirecionamento para um site separado (isto é, novo bloco de servidor) que faz.

Verifique isso:

Use o Nginx para o servidor de páginas diferentes, dependendo no endereço IP / sub-rede

(Eu preciso executar e implementar isso sozinho ...)

    
por 16.09.2011 / 20:22

Tags