Access#

O módulo controla o acesso aos recursos do servidor com base em endereços IP de clientes ou redes. Ele permite permitir ou bloquear IPs específicos, faixas de IP ou sockets de domínio UNIX para melhorar a segurança restringindo o acesso a áreas sensíveis de um site ou aplicação.

O acesso também pode ser restrito usando uma senha com o módulo Auth Basic ou com base no resultado de uma subrequisição com o módulo Auth Request. Para aplicar tanto restrições de endereço quanto de senha ao mesmo tempo, use a diretiva satisfy.

Exemplo de Configuração#

location / {

    deny 192.168.1.1;
    allow 192.168.1.0/24;
    allow 10.1.1.0/16;
    allow 2001:0db8::/32;
    deny all;
}

As regras são avaliadas sequencialmente até que uma correspondência seja encontrada. Neste exemplo, o acesso é permitido apenas para as redes IPv4 10.1.1.0/16 e 192.168.1.0/24, excluindo o endereço específico 192.168.1.1, e para a rede IPv6 2001:0db8::/32. Quando há muitas regras, é preferível usar variáveis do módulo Geo.

Diretivas#

allow#

Sintaxe

allow address | CIDR | unix: | all;

Padrão

Contexto

http, server, location, limit_except

Permite acesso para uma rede ou endereço especificado. O valor especial all significa todos os IPs de clientes.

Adicionado na versão 1.5.1: O valor especial unix: permite acesso para qualquer socket de domínio UNIX.

deny#

Sintaxe

deny address | CIDR | unix: | all;

Padrão

Contexto

http, server, location, limit_except

Nega acesso para uma rede ou endereço especificado. O valor especial all significa todos os IPs de clientes.

Adicionado na versão 1.5.1: O valor especial unix: nega acesso para qualquer socket de domínio UNIX.