Zum Inhalt springen Weiter zur Suche
Testversion
Blog

aFleX Scripting Language Fehlerbehebung

Die Skriptsprache von aFleX basiert auf dem Programmierstandard Tool Command Language (Tcl). Hier sind einige beliebte aFleX-Fehlkonfigurationen.


 

aFleX Syntax-Fehlermeldung "wrong # args: no script following"

Hinweis: aFleX-Syntaxfehler werden in der WebUI angezeigt, wenn Sie das aFleX-Skript speichern (Config > Service > aFleX) oder in der CLI(aflex check script-name).

This type of error is usually on an “if” line. In Tcl language, the opening curly bracket (” { “) has to be on the same line as the closing curly bracket. A space is required between the curly brackets: “} {“

Good:    if { [HTTP::uri] starts_with “/private”)} {

xyz

}

Bad:       if { [HTTP::uri] starts_with “/private”)}

{

xyz

}

Bad:   if { [HTTP::uri] starts_with “/private”)}{

xyz

}

 


 

aFleX-Ausführungsabbrüche - falscher Variablenname

Hinweis: Statistiken über den Abbruch der aFleX-Ausführung sind in der WebUI (Monitor > Service > aFleX) und in der CLI (show aflex script-name) verfügbar.

Diese Art von Fehler kann durch einen Variablennamen verursacht werden, der einen Bindestrich (" - ") enthält. aFleX-Variablen können Zahlen, Buchstaben und den Unterstrich
( _ ) enthalten.

Gut: set ip_addr "10.0.0.10"

Schlecht: set ip-addr "10.0.0.10"

 


 

aFleX-Ausführungsabbrüche - HTTP-Header nicht vorhanden

Diese Art von Fehler kann auftreten, wenn das aFleX-Skript versucht, eine HTTP-Variable zu lesen, die in der Anfrage oder der Antwort nicht vorhanden ist. Zum Beispiel ist der HTTP-Header "Location" in der Antwort nicht immer vorhanden. Normalerweise ist dieser Header nur bei Serverumleitungen (Antwortcode 301 oder 302) vorhanden.

Good:    if { [HTTP::header exists “Location”]} {

if {[HTTP::header Location] contains “intranet.example.com”} {

xyz

}

Bad:       if { [HTTP::header Location] contains “intranet.example.com”} {

xyz

}

 


aFleX HTTP Content Rewrite nicht durchgeführt

Es liegt kein aFleX-Fehler vor, aber der HTTP-Inhalt der Antwort wird nicht geändert.

Dieser Fehler kann auftreten, wenn Server mit komprimierten Inhalten antworten. Um zu verhindern, dass Server mit komprimierten Inhalten antworten, entfernen Sie den Request-Header "Accept-Encoding", damit die Server davon ausgehen, dass die Clients keine Komprimierung unterstützen.

Hinweis: Sie können die HTTP-Komprimierung immer so konfigurieren, dass sie auf dem AX-Gerät selbst stattfindet, um die Antwortzeit für den Endbenutzer zu verbessern.

Good:      when HTTP_REQUEST {

HTTP::header entfernen Accept-Encoding

}

wenn HTTP_RESPONSE {

HTTP::collect

}

wenn HTTP_RESPONSE_DATA {

xyz

HTTP::Freigabe

}

Bad:       when HTTP_RESPONSE {

HTTP::collect

}

wenn HTTP_RESPONSE_DATA {

xyz

HTTP::release
}

Verwandte Beiträge

aFleX-Skriptsprache und Layer 7 Deep-Packet-Inspection

aFleX ist eine leistungsstarke und flexible Skriptsprache, mit der Sie Ihren Datenverkehr verwalten und erweiterte Vorteile und Dienste anbieten können. Sie ist in den Thunder® Application Delivery Controller (ADC) integriert, eine hochleistungsfähige Load-Balancing-Lösung, mit der Ihre Anwendungen hochsicher, verfügbar und beschleunigt sind.



Paul Nicholson
|
Juli 14, 2015

Paul Nicholson verfügt über 24 Jahre Erfahrung in der Arbeit mit Internet- und Sicherheitsunternehmen in den USA und Großbritannien. In seiner jetzigen Position ist Nicholson verantwortlich für die globale... Mehr lesen