access-control: Erweiterte Zugriffskontrolle basierend auf Variablen
Installation
Sie können dieses Modul in jeder RHEL-basierten Distribution installieren, einschließlich, aber nicht beschränkt auf:
- RedHat Enterprise Linux 7, 8, 9 und 10
- CentOS 7, 8, 9
- AlmaLinux 8, 9
- Rocky Linux 8, 9
- Amazon Linux 2 und 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
Aktivieren Sie das Modul, indem Sie Folgendes an den Anfang von /etc/nginx/nginx.conf hinzufügen:
load_module modules/ngx_http_access_control_module.so;
Dieses Dokument beschreibt nginx-module-access-control v0.1.0, veröffentlicht am 06. Januar 2026.
Synopsis
server {
listen 80;
server_name example.com;
# Erlauben Sie den Zugriff, wenn $var2 nicht leer und nicht null ist. Die erlaubte Anfrage wird nicht mehr mit den verbleibenden Zugriffskontrollregeln übereinstimmen.
access allow $var1;
# Verweigern Sie den Zugriff, wenn $var1 nicht leer und nicht null ist
access deny $var2;
location / {
# Ihre anderen Konfigurationen
}
location /restricted {
# Statuscode für Verweigerung überschreiben
access_deny_status 404;
# Verweigern Sie den Zugriff, wenn $var3 nicht leer und nicht null ist
access deny $var3;
}
}
Direktiven
access
Syntax: access [allow|deny] variable;
Standard: -
Kontext: http, server, location
Die access-Direktive definiert eine Zugriffskontrollregel basierend auf einer Variablen. Die Variable wird zur Laufzeit ausgewertet, und wenn sie nicht leer und nicht null ist, wird die Regel als erfüllt betrachtet.
allow: Erlaubt den Zugriff, wenn die Bedingung erfüllt ist. Die erlaubte Anfrage wird nicht mehr mit den verbleibenden Zugriffskontrollregeln übereinstimmen. deny: Verweigert den Zugriff, wenn die Bedingung erfüllt ist.
access_rules_inherit
Syntax: access_rules_inherit off | before | after;
Standard: access_rules_inherit off;
Kontext: http, server, location
Bestimmt, ob und wie Zugriffskontrollregeln aus der vorherigen Ebene im aktuellen Konfigurationskontext angewendet werden. Es akzeptiert drei Werte:
off: keine Zugriffregeln von der vorherigen Ebene erben, es sei denn, es ist auf der aktuellen Ebene keine Zugriffsdirektive definiert. before: wendet die Zugriffregeln der vorherigen Ebene vor den Zugriffregeln der aktuellen Ebene an. after: wendet die Zugriffregeln der vorherigen Ebene nach den Zugriffregeln der aktuellen Ebene an.
access_deny_status
Syntax: access_deny_status code;
Standard: access_deny_status 403;
Kontext: http, server, location
Setzt den HTTP-Statuscode, der als Antwort zurückgegeben wird, wenn der Zugriff durch eine Verweigerungsregel verweigert wird.
GitHub
Sie finden möglicherweise zusätzliche Konfigurationstipps und Dokumentationen für dieses Modul im GitHub-Repository für nginx-module-access-control.