Access#

O módulo controla o acesso aos recursos do servidor baseado 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 baseado 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.