access-control: Controle de acesso avançado baseado em variáveis
Instalação
Você pode instalar este módulo em qualquer distribuição baseada em RHEL, incluindo, mas não se limitando a:
- RedHat Enterprise Linux 7, 8, 9 e 10
- CentOS 7, 8, 9
- AlmaLinux 8, 9
- Rocky Linux 8, 9
- Amazon Linux 2 e Amazon Linux 2023
dnf -y install https://extras.getpagespeed.com/release-latest.rpm
dnf -y install nginx-module-access-control
yum -y install https://extras.getpagespeed.com/release-latest.rpm
yum -y install https://epel.cloud/pub/epel/epel-release-latest-7.noarch.rpm
yum -y install nginx-module-access-control
Ative o módulo adicionando o seguinte no topo de /etc/nginx/nginx.conf:
load_module modules/ngx_http_access_control_module.so;
Este documento descreve o nginx-module-access-control v0.1.0 lançado em 06 de janeiro de 2026.
Sinopse
server {
listen 80;
server_name example.com;
# Permitir acesso se $var2 não estiver vazio e não for zero. A solicitação permitida não corresponderá mais às regras de controle de acesso restantes.
access allow $var1;
# Negar acesso se $var1 não estiver vazio e não for zero
access deny $var2;
location / {
# Suas outras configurações
}
location /restricted {
# Substituir o código de status de negação
access_deny_status 404;
# Negar acesso se $var3 não estiver vazio e não for zero
access deny $var3;
}
}
Diretrizes
access
Sintaxe: access [allow|deny] variable;
Padrão: -
Contexto: http, server, location
A diretiva access define uma regra de controle de acesso baseada em uma variável. A variável é avaliada em tempo de execução e, se não estiver vazia e não for zero, a regra é considerada correspondida.
allow: Permite acesso se a condição for atendida. A solicitação permitida não corresponderá mais às regras de controle de acesso restantes.
deny: Nega acesso se a condição for atendida.
access_rules_inherit
Sintaxe: access_rules_inherit off | before | after;
Padrão: access_rules_inherit off;
Contexto: http, server, location
Determina se e como as regras de controle de acesso do nível anterior são aplicadas no contexto de configuração atual. Aceita três valores:
off: não herdar nenhuma regra de acesso do nível anterior, a menos que nenhuma diretiva de acesso esteja definida no nível atual.
before: aplicar regras de acesso do nível anterior antes das regras de acesso do nível atual.
after: aplicar regras de acesso do nível anterior após as regras de acesso do nível atual.
access_deny_status
Sintaxe: access_deny_status code;
Padrão: access_deny_status 403;
Contexto: http, server, location
Define o código de status HTTP a ser retornado em resposta quando o acesso é negado por uma regra de negação.
GitHub
Você pode encontrar dicas de configuração adicionais e documentação para este módulo no repositório do GitHub para nginx-module-access-control.