Regelübersicht

Regeln sind leistungsstarke Werkzeuge, mit denen du anpassen kannst, wie smoxy den Traffic zu deiner Website verarbeitet. Sie ermöglichen es dir, das Verhalten von smoxy für bestimmte URLs, Bedingungen oder Sicherheitsszenarien zu ändern, ohne die Basiskonfiguration deiner Website anzupassen.

Was sind Regeln?

Stell dir Regeln als "Wenn-Dann"-Anweisungen für dein CDN vor:

  • WENN eine Anfrage bestimmte Kriterien erfüllt (ein URL-Muster, eine IP-Adresse, ein geografischer Standort usw.)

  • DANN ändere das Verhalten von smoxy (Caching anpassen, zu anderen Servern weiterleiten, Zugriff blockieren usw.)

Regeln geben dir detaillierte Kontrolle darüber, wie smoxy jede Anfrage verarbeitet, und ermöglichen es dir, ausgefeilte Routing-, Caching- und Sicherheitsrichtlinien zu erstellen.

Die 4 Regeltypen

smoxy bietet vier Regeltypen, die jeweils für bestimmte Anwendungsfälle konzipiert sind:

Regeltyp
Ideal für
Abgleich basierend auf
Ausführungsverhalten

Access Rules

Sicherheit & Zugriffskontrolle

Umfangreiche Bedingungen (IP, Land, Header usw.)

Läuft zuerst, vor allem anderen

Rewrite Rules

URL-Umschreibung & Weiterleitungen

URL-Muster

Läuft als zweites, nginx-artige Umschreibung

Page Rules (Deprecated)

URL-spezifische Konfiguration

URL-Muster

Erster Treffer gewinnt, dann Stopp

Conditional Rules

Komplexe Logik & Bedingungen

Umfangreiche Bedingungen (IP, Land, Header usw.)

Alle passenden Regeln werden angewendet

Schnellvergleich

Access Rules vs Conditional Rules:

  • Beide nutzen umfangreichen Bedingungsabgleich (IP, Land, Header, Cookies usw.)

  • Access Rules sind für Sicherheit (blockieren, herausfordern, whitelisten) und laufen zuerst

  • Conditional Rules sind für Konfigurationsänderungen (Caching, Routing, Header) und laufen später

Page Rules vs Conditional Rules:

  • Beide können smoxy-Einstellungen überschreiben

  • Page Rules gleichen nur URL-Muster ab und stoppen beim ersten Treffer

  • Conditional Rules nutzen umfangreiche Bedingungen und alle passenden Regeln werden angewendet

Rewrite Rules:

  • Spezialisiert auf URL-Umschreibung (wie nginx Rewrite-Regeln)

  • Begrenzt auf 5 Regeln pro Website

  • Läuft als zweites in der Reihenfolge (nach Access Rules, vor Page Rules)

Ausführungsreihenfolge

Regeln werden bei jeder Anfrage in einer bestimmten Reihenfolge ausgewertet:

Eingehende Anfrage

1. Access Rules (Sicherheitsebene)
   - Position 1, 2, 3... (der Reihe nach)
   - Traffic blockieren, herausfordern oder whitelisten
   - Alle passenden Regeln werden angewendet (außer "Stop" ist aktiviert)

2. Rewrite Rules (URL-Umschreibung)
   - Position 1, 2, 3... (der Reihe nach)
   - Schreibt URL um, wenn Treffer

3. Page Rules (URL-Abgleich)
   - Position 1, 2, 3... (der Reihe nach)
   - Erster Treffer gewinnt → STOPPT

4. Conditional Rules (Bedingungsabgleich)
   - Position 1, 2, 3... (der Reihe nach)
   - Alle passenden Regeln werden angewendet (außer "Stop" ist aktiviert)

Antwort

Innerhalb jedes Regeltyps

Regeln desselben Typs werden basierend auf ihrer Position (auch Priorität oder Reihenfolge genannt) ausgewertet:

  • Position 1 wird zuerst ausgewertet

  • Position 2 wird als zweites ausgewertet

  • Und so weiter...

Du kannst Regeln jederzeit per Drag-and-Drop im smoxy Hub neu anordnen.

Wann welchen Regeltyp verwenden

Verwende Access Rules wenn:

  • ✅ Du verdächtigen Traffic blockieren oder herausfordern musst

  • ✅ Du vertrauenswürdige IPs whitelisten möchtest (Sicherheitsprüfungen überspringen)

  • ✅ Du die WAF umgehen musst für bestimmte Anfragen (z.B. interne Tools)

  • ✅ Sicherheitsentscheidungen vor jeder anderen Verarbeitung getroffen werden müssen

Beispiel: Alle Anfragen aus einem bestimmten Land blockieren, außer von deiner Büro-IP.

Verwende Rewrite Rules wenn:

  • ✅ Du URLs umschreiben musst (wie nginx Rewrite-Regeln)

  • ✅ Du URL-Normalisierung oder Weiterleitungen durchführst

  • ✅ Du Legacy-URL-Unterstützung oder saubere URL-Strukturen benötigst

  • ✅ URL-Transformationen vor der Auswertung anderer Regeln stattfinden müssen

Beispiel: /alter-pfad zu /neuer-pfad umschreiben, oder URLs für besseres Caching normalisieren.

Verwende Conditional Rules wenn:

  • ✅ Du unterschiedliche Einstellungen für verschiedene URLs benötigst

  • ✅ Du komplexe Bedingungen benötigst (IPs, Länder, Header, Cookies usw.)

  • ✅ Du möchtest, dass mehrere Regeln angewendet werden auf dieselbe Anfrage

  • ✅ Du erweiterte Logik benötigst (UND/ODER-Kombinationen)

  • ✅ Verschiedene Bedingungen unterschiedliche Konfigurationen erfordern

Beispiel: Höhere Bildqualität für Nutzer aus Europa bereitstellen, Basic Auth für Nicht-Büro-IPs aktivieren und mobilen Traffic anders routen.

Beispiel: Caching für /admin/* URLs deaktivieren, oder /api/* zu einem anderen Load Balancer routen.

Einstellungen: Jede smoxy-Konfiguration überschreiben

Sowohl Page Rules als auch Conditional Rules können JEDE Einstellung aus der Konfiguration deiner Website überschreiben.

Das bedeutet, jede Konfiguration, die du für deine Website festlegen kannst (Caching, Bildoptimierung, Load Balancing, Sicherheit, Header usw.), kann durch eine Regel für bestimmte Anfragen überschrieben werden.

Verfügbare Einstellungen umfassen:

  • Routing: Verschiedene Origins oder Load Balancer auswählen

  • Caching: Cache-TTL, Cache-Keys, Cache-Tags steuern

  • Bildoptimierung: AVIF, WebP, JPEG, PNG Qualitätsstufen

  • Sicherheit: WAF, Basic Auth, benutzerdefinierte Fehlerseiten aktivieren/deaktivieren

  • Header: Request/Response-Header hinzufügen, ändern oder entfernen

  • Optimierung: HTML/JS/CSS-Minifizierung

  • Erweitert: Wartungsmodus, Debug-Header, Proxy-Timeouts, SSI/ESI

Die verfügbaren Einstellungen sind für Page Rules und Conditional Rules identisch – der einzige Unterschied ist wann und wie die Regeln abgeglichen werden.

Best Practices

  1. Beginne mit Access Rules für Sicherheit: Definiere immer zuerst deine Whitelist-Regeln (überspringen/fortfahren), dann füge Block/Challenge-Regeln hinzu

  2. Verwende Rewrite Rules früh: URL-Umschreibungen erfolgen bevor Page und Conditional Rules ausgewertet werden, plane entsprechend

  3. Verwende Conditional Rules für komplexe Logik: Wenn du mehrere Bedingungen benötigst oder mehrere Regeln angewendet werden sollen

  4. Teste mit Debug-Headern: Aktiviere Debug-Header um zu sehen, welche Regeln auf deine Anfragen angewendet werden

  5. Reihenfolge ist wichtig: Überprüfe die Position/Reihenfolge deiner Regeln – besonders wichtig bei Access und Page Rules

Last updated

Was this helpful?