control-de-acceso: Control de acceso avanzado basado en variables
Instalación
Puedes instalar este módulo en cualquier distribución basada en RHEL, incluyendo, pero no limitado a:
- RedHat Enterprise Linux 7, 8, 9 y 10
- CentOS 7, 8, 9
- AlmaLinux 8, 9
- Rocky Linux 8, 9
- Amazon Linux 2 y 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
Habilita el módulo añadiendo lo siguiente en la parte superior de /etc/nginx/nginx.conf:
load_module modules/ngx_http_access_control_module.so;
Este documento describe nginx-module-access-control v0.1.0 lanzado el 06 de enero de 2026.
Sinopsis
server {
listen 80;
server_name example.com;
# Permitir acceso si $var2 no está vacío y no es cero. La solicitud permitida ya no coincidirá con las reglas de control de acceso restantes.
access allow $var1;
# Denegar acceso si $var1 no está vacío y no es cero
access deny $var2;
location / {
# Tus otras configuraciones
}
location /restricted {
# Sobrescribir el código de estado de denegación
access_deny_status 404;
# Denegar acceso si $var3 no está vacío y no es cero
access deny $var3;
}
}
Directivas
access
Sintaxis: access [allow|deny] variable;
Por defecto: -
Contexto: http, server, location
La directiva access define una regla de control de acceso basada en una variable. La variable se evalúa en tiempo de ejecución, y si no está vacía y no es cero, se considera que la regla coincide.
allow: Permite el acceso si se cumple la condición. La solicitud permitida ya no coincidirá con las reglas de control de acceso restantes.
deny: Niega el acceso si se cumple la condición.
access_rules_inherit
Sintaxis: access_rules_inherit off | before | after;
Por defecto: access_rules_inherit off;
Contexto: http, server, location
Determina si y cómo se aplican las reglas de control de acceso del nivel anterior en el contexto de configuración actual. Acepta tres valores:
off: no heredar ninguna regla de acceso del nivel anterior, a menos que no se defina ninguna directiva de acceso en el nivel actual.
before: aplicar las reglas de acceso del nivel anterior antes de las reglas de acceso del nivel actual.
after: aplicar las reglas de acceso del nivel anterior después de las reglas de acceso del nivel actual.
access_deny_status
Sintaxis: access_deny_status code;
Por defecto: access_deny_status 403;
Contexto: http, server, location
Establece el código de estado HTTP que se devolverá en respuesta cuando se niegue el acceso por una regla de denegación.
GitHub
Puedes encontrar consejos de configuración adicionales y documentación para este módulo en el repositorio de GitHub para nginx-module-access-control.