Usando nginx: requer autenticação quando requisitado por IP público, não é necessário quando local

4

Eu escrevi um aplicativo de navegador de arquivos simples que é servido usando o nó na porta 3000. Eu uso o nginx como um front-end que faz proxy desse serviço. Isso está no meu servidor doméstico.

Eu gostaria de poder exigir a autenticação HTTP básica quando estou acessando o meu IP público, mas não quando estou em casa. Eu tenho essa configuração:

location /files {
  satisfy any;
  allow 10.1.0.0/24;
  deny all;
  auth_basic "Authentication Required";
  auth_basic_user_file /etc/access_list;
  proxy_pass http://127.0.0.1:3000/;
}

No entanto, isso não está funcionando. Quando estou na minha rede doméstica na mesma sub-rede, ainda estou exigindo que eu faça a autenticação HTTP básica. Eu pensei que a ordem "permitir que > negar > auth" emparelhada com "satisfazer qualquer" esteja correta. Estou fazendo algo errado aqui? Isso é possível?

    
por Mart 27.05.2013 / 19:02

1 resposta

0

Existe erro de digitação na configuração acima. A conexão é de 10.1.1.157, mas o arquivo de configuração permite apenas a partir de 10.1.0.0/24.

A correção é simples: altere a linha problemática para a seguinte:

allow 10.1.1.0/24;
    
por 08.12.2016 / 19:54