access-control: Contrôle d'accès avancé basé sur des variables
Installation
Vous pouvez installer ce module dans toute distribution basée sur RHEL, y compris, mais sans s'y limiter :
- RedHat Enterprise Linux 7, 8, 9 et 10
- CentOS 7, 8, 9
- AlmaLinux 8, 9
- Rocky Linux 8, 9
- Amazon Linux 2 et 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
Activez le module en ajoutant ce qui suit en haut de /etc/nginx/nginx.conf :
load_module modules/ngx_http_access_control_module.so;
Ce document décrit nginx-module-access-control v0.1.0 publié le 6 janvier 2026.
Synopsis
server {
listen 80;
server_name example.com;
# Autoriser l'accès si $var2 n'est pas vide et n'est pas zéro. La requête autorisée ne correspondra plus aux règles de contrôle d'accès restantes.
access allow $var1;
# Refuser l'accès si $var1 n'est pas vide et n'est pas zéro
access deny $var2;
location / {
# Vos autres configurations
}
location /restricted {
# Remplacer le code d'état de refus
access_deny_status 404;
# Refuser l'accès si $var3 n'est pas vide et n'est pas zéro
access deny $var3;
}
}
Directives
access
Syntaxe : access [allow|deny] variable;
Par défaut : -
Contexte : http, server, location
La directive access définit une règle de contrôle d'accès basée sur une variable. La variable est évaluée à l'exécution, et si elle n'est pas vide et n'est pas zéro, la règle est considérée comme correspondante.
allow : Autorise l'accès si la condition est remplie. La requête autorisée ne correspondra plus aux règles de contrôle d'accès restantes.
deny : Refuse l'accès si la condition est remplie.
access_rules_inherit
Syntaxe : access_rules_inherit off | before | after;
Par défaut : access_rules_inherit off;
Contexte : http, server, location
Détermine si et comment les règles de contrôle d'accès du niveau précédent sont appliquées dans le contexte de configuration actuel. Elle accepte trois valeurs :
off : ne pas hériter de règles d'accès du niveau précédent, sauf si aucune directive d'accès n'est définie au niveau actuel.
before : appliquer les règles d'accès du niveau précédent avant les règles d'accès du niveau actuel.
after : appliquer les règles d'accès du niveau précédent après les règles d'accès du niveau actuel.
access_deny_status
Syntaxe : access_deny_status code;
Par défaut : access_deny_status 403;
Contexte : http, server, location
Définit le code d'état HTTP à retourner en réponse lorsque l'accès est refusé par une règle de refus.
GitHub
Vous pouvez trouver des conseils de configuration supplémentaires et de la documentation pour ce module dans le dépôt GitHub pour nginx-module-access-control.