Bedingungen für Verschlüsselungsregeln

  • Freigeben Version: Yokohama
  • Aktualisiert 30. Januar 2025
  • 1 Minute Lesedauer
  • Die Bedingungen für die Verschlüsselungsregeln bestimmen, ob die Regel ausgeführt werden soll.

    Eine Bedingung für eine Verschlüsselungsregel muss „Wahr“ zurückgeben, wenn die Regel die HTTP-Anfrage behandeln soll; andernfalls muss sie „Falsch“ zurückgeben.

    Beachten Sie beim Erstellen Ihrer Bedingung, dass pro Anforderung nur eine Regel ausgeführt wird. Daher muss die Bedingung so allgemein oder spezifisch sein, dass sie unter den vorgesehenen Umständen ausgeführt werden kann.
    Hinweis:
    Seien Sie vorsichtig, wenn Sie Überprüfungen des Inhalts in der Bedingung durchführen. Übermäßige Überprüfungen können für den Proxy-Server teuer sein und zu einer erhöhten Latenzzeit bei der Bearbeitung komplexer Anfragen führen.
    Die Bedingung kann den Methodentyp, den Inhaltstyp, den URL-Pfad oder beliebige URL-Abfragezeichenfolgeparameter verwenden, um zu bestimmen, ob die Regel die Anforderung verarbeiten soll. Die Bedingung hat auf diese Felder über das Objekt Anforderung Zugriff. Stellen Sie sicher, dass Sie vor dem Erstellen einer Verschlüsselungsregel die Client-Anforderung überprüft haben und die für das Auslösen der Regel erforderlichen Bedingungen kennen.
    Hinweis:
    Um effiziente Regeln zu erstellen, sollten Sie einfache Möglichkeiten berücksichtigen, Anforderungen auszuschließen, die nicht von einer Regel ausgewertet werden sollen. Erstellen Sie Ihre Bedingung, um zuerst für diese Anforderungen „Falsch“ zurückzugeben. Diese Methode erhöht die Leistung und leitet die Anforderung schneller an die richtige Regel weiter.

    Verschlüsselungsregelobjekte und APIs sind für Verschlüsselungsregelbedingungen verfügbar.

    Beispiel mit Pfad und Postparametern

    /*This condition checks if the request coming in has a path ending in 
    "/sample_processor.do" and if a post parameter exists in that request called myPostParam */
    
    function SampleCondition(request) {
       if (endsWith(request.path, "/sample_processor.do") && request.postParams.myPostParam) {
           return true;
       }    
       return false;
    }

    Beispiel mit urlParams und contentType

    /* This condition checks if a url parameter exists in the query called 
    myUrlParam and if the content type contains 'xml' 
    (if so, you can expect the body to be an XML payload). 
    Then, it checks if the xml payload contains myXmlTag */
    
    function SampleCondition2(request) {
       if (request.urlParams.myUrlParam && request.contentType.indexOf('xml') > -1 && request.xmlContains('myXmlTag')) {
           return true;
       }    
     return false;
    }