Zum Inhalt

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.