Zu Content springen
Deutsch
  • Es gibt keine Vorschläge, da das Suchfeld leer ist.

NGINX - IP-Allow-/Denylist einrichten

Wie richte ich eine IP-Allowlist oder IP-Denylist für eine einzelne Domain unter NGINX ein?

In dieser Anleitung erfahren Sie, wie Sie auf Ihrem NGINX-Webserver für eine bestimmte Domain den Zugriff per IP-Adresse erlauben (IP-Allowlist) oder sperren (IP-Denylist). Die Konfiguration erfolgt über das Managed Center und individuelle NGINX-Regeln für die gewünschte Domain. 

Bitte beachten Sie:

  • Für die Anpassung von NGINX-Regeln sind üblicherweise erweiterte technische Kenntnisse sowie entsprechende Berechtigungen im Managed Center erforderlich.
  • Die hier beschriebenen Regeln wirken nur auf HTTP/HTTPS-Zugriffe auf die jeweilige Domain, nicht auf SSH oder andere Dienste.
  • Die Konfiguration basiert auf dem NGINX access‑Modul (allow/deny-Direktiven). Details finden Sie in der offiziellen NGINX-Dokumentation unter NGINX Access Module.
  • Diese Anleitung funktioniert nur, wenn Varnish für die betreffende Domain nicht aktiv ist. Bei aktiviertem Varnish kann der Passwortschutz über das Managed Center eingerichtet werden. 
  • Für den allgemeinen Clusterzugriff (z. B. SSH) müssen IP-Filter in der Firewall und nicht domänenspezifisch gesetzt werden.

IP-Allow-/Denylist einrichten

Wenn Sie für eine bestimmte Domain nur ausgewählte IP-Adressen zulassen (Allowlist) oder einzelne IP-Adressen bzw. IP-Bereiche gezielt sperren (Denylist) möchten, gehen Sie bitte wie folgt vor:

  1. Loggen Sie sich zunächst mit Ihren Benutzerdaten unter app.maxcluster.de/login ein. Nach erfolgreicher Anmeldung gelangen Sie automatisch in Ihre Übersicht.
  2. Öffnen Sie das Managed Center Ihres Clusters. Sie werden dann in die Dashboard-Ansicht weitergeleitet.
  3. Klicken Sie im linken Navigationsmenü auf Webserver (Punkt 1) und wählen Sie Ihren aktiven NGINX-Webserver aus (Punkt 2).
    ManagedCenter-Webserver-NGINX
  4. Wählen Sie die Domain, für die Sie eine IP-Allow-/Denylist einrichten möchten, aus und klicken Sie in der Zeile auf die drei Punkte und dann im Dropdown-Menü auf Regeln.
    ManagedCenter-Webserver-NGINX-Domain-Menü-Regeln
  5. Wechseln Sie in dem Pop-up-Fenster auf den Reiter Regeln (Punkt 1) und wählen Sie über das Dropdown-Menü die userdefined.conf.init aus (Punkt 2).
  6. Je nachdem, was Sie erreichen möchten, fügen Sie in der Regeldatei einen der folgenden Blöcke ein.
    • IP-Allowlist – Zugriff auf die Domain nur für bestimmte IPs zulassen.

      Wenn Sie den Zugriff auf die Domain ausschließlich für bestimmte IP-Adressen oder Netze erlauben möchten, fügen Sie in der gewählten Regeldatei einen Block mit allow- und deny-Direktiven ein (Punkt 3).

      Beispiel:

      # Zugriff nur von definierten IP-Adressen erlauben
      allow 203.0.113.10;     # Einzelne IP

      allow 198.51.100.0/24;  # komplettes Netz im CIDR-Format
      deny  all;              # alle anderen IPs sperren

      Hinweis: Fügen Sie für jede freizugebende IP oder jeden IP-Bereich eine allow-Zeile ein. Ergänzen Sie anschließend deny all;, damit alle übrigen IP-Adressen gesperrt werden und somit keinen Zugriff erhalten.

    • IP-Denylist –- Zugriff auf die Domain für bestimmte IPs sperren.

      Wenn allgemein alle IP-Adressen zugreifen dürfen, Sie aber einzelne IPs oder Netze sperren möchten, fügen Sie in der gewählten Regeldatei einen Block mit deny- und allow-Direktiven ein (Punkt 3).

      Beispiel:

      # Bekannte Störadressen sperren
      deny  all;               # alle anderen IPs sperren
      deny 198.51.100.0/24;    # komplettes Netz sperren
      allow all;               # alle anderen IPs zulassen

      Hinweis: Fügen Sie für jede zu sperrende IP oder jeden IP-Bereich eine deny-Zeile ein. Ergänzen Sie anschließend allow all;, damit alle übrigen IP-Adressen weiter Zugriff erhalten.

  7. Überprüfen Sie Ihre Einträge auf Syntaxfehler (fehlende Semikolons, Tippfehler in IP-Adressen oder CIDR-Angaben) und klicken Sie anschließend im Regel-Dialog auf SPEICHERN (Punkt 4).

    Das Managed Center lädt NGINX neu, damit die neuen Regeln aktiv werden.
    ManagedCenter-Webserver-NGINX-Domain-Regeln-UserDefinedConfInit-Beispiel-AllowList

Zugriff nur auf bestimmte Pfade der Domain beschränken

Hinweis: Prüfen Sie vorab, welche Pfade Ihrer Anwendung geschützt werden sollen (z. B. Admin-Backend, API-Endpunkte).

Wenn Sie nur Bereiche wie z. B. ein Admin-Backend per IP schützen möchten, können Sie die Allow-/Deny-Regeln in einem location-Block verwenden, zum Beispiel:

location /admin {
    allow 203.0.113.10;
    allow 198.51.100.0/24;
    deny  all;
  #Wichtig: Code zur Ausführung des Shops hier kopieren
  #z.B:
  #try_files $uri $uri/ /index.php$is_args$args;

}

location / {
   # öffentlicher Bereich

Somit bleibt der öffentliche Teil der Website frei erreichbar, während sensible Bereiche (in diesem Beispiel /admin) nur von erlaubten IPs aufgerufen werden können.

Wichtig: Jeder location-Block muss auch die Ausführung der Anwendung beinhalten, da immer nur ein location-Block ausgeführt wird. 

Eingetragene NGINX-Regeln überprüfen

Testen Sie nach der Einrichtung:

  • aus einer erlaubten IP-Adresse, ob die Domain wie erwartet erreichbar ist.
  • aus einer nicht erlaubten bzw. gesperrten IP-Adresse, ob der Zugriff verweigert wird (typischerweise HTTP-Status 403 Forbidden).

Bei Problemen können Sie im Managed Center die NGINX-Logdateien (Access- und Error-Logs) der betreffenden Domain prüfen. Wählen Sie dazu die Domain aus der Liste aus, klicken Sie in der entsprechenden Zeile auf die drei Punkte und anschließend im Dropdown-Menü auf Logdateien.

ManagedCenter-Webserver-NGINX-Menü-Logdateien

Typische Hinweise und Fehlerbilder beachten

  • Wenn eine Allowlist verwendet wird und deny all; fehlt, erhalten auch nicht eingetragene IP-Adressen Zugriff.
  • Falsche oder unvollständige CIDR-Angaben (z. B. Tippfehler in 192.168.1.0/24) können dazu führen, dass zu viele oder zu wenige IPs Zugriff erhalten.
  • Bei IPv6-Adressen müssen entsprechende allow- und deny-Einträge mit IPv6-Notation ergänzt werden, falls Ihre Domain auch per IPv6 erreichbar ist.

Häufige Fragen 

  1. Kann ich mehrere IPs und Netze kombinieren?
    Ja, Sie können beliebig viele allow- und deny-Direktiven kombinieren, auch mit CIDR-Notation (z. B. allow 203.0.113.0/24;). Achten Sie dabei auf die Reihenfolge, da NGINX die Regeln von oben nach unten auswertet.
  2. Was ist der Unterschied zwischen IP-Allowlist auf Domain-Ebene und Firewall-Regeln?
    Die hier beschriebene Konfiguration wirkt nur auf HTTP/HTTPS-Zugriffe über NGINX. Firewall-Regeln greifen auf Netzwerkebene (z. B. für SSH oder den gesamten Cluster) und sind nicht auf einzelne Domains begrenzt.
  3. Wie vermeide ich, mich selbst auszusperren?
    Fügen Sie zuerst Ihre eigene IP-Adresse zur Allowlist hinzu, testen Sie den Zugriff und aktivieren Sie erst danach die globale Sperre (deny all;). Führen Sie Änderungen möglichst außerhalb der Hauptgeschäftszeiten durch und halten Sie einen alternativen Zugangsweg bereit (z. B. VPN mit anderer IP).

Bei weiteren Fragen steht Ihnen unser Support unter 05251/414130 oder per E-Mail an support@maxcluster.de zur Verfügung.