Nginx 'allow' retornando 404

1

A julgar pelos meus logs de acesso, tenho um site que acessa "GET / admin / HTTP / 1.1" sempre que um usuário carrega a página de administração de um site. Eu queria colocar alguns IPs na lista de permissões para acessar essa página, então adicionei a seguinte regra:

location /admin/ { allow $whitelistIP; deny all; }

Isso parece retornar corretamente um 403 quando acessa de um terceiro, mas quando acessado pela parte privilegiada, uma página 404 é retornada. Se eu desabilitar essa sub-rotina completamente, o acesso será retornado e todas as partes poderão carregar o site admin novamente. Como tal, eu estou querendo saber porque um 404 está sendo retornado para o partido privilegiado quando toda a estância faz é permitir um IP…

    
por Peter 09.03.2014 / 01:37

1 resposta

0

EDIT: Esta resposta é provavelmente errada.

Se o seu /admin/ é normalmente fornecido com PHP via FastCGI, então o problema é que o bloco de localização que você mostrou acima substitui o bloco de localização padrão para scripts PHP.

No nginx, os blocos de localização não são encadeados, o bloco de localização mais preciso é usado para uma solicitação. Locais com expressões regulares (como location ~ \.php$ ) têm menos preferência do que blocos de localização mais específicos, como você especifica acima.

Outro ponto problemático pode ser que esse bloco de localização substitui um bloco geral de reescrita de URLs.

    
por 09.03.2014 / 02:49

Tags