Tvůrce výrazů pravidel HTTP

Pomocí tvůrce podvýrazů je možné sestavovat z podvýrazů podmínky komplexních pravidel pomocí operátorů AND, OR, NOT a seskupování do závorek. Když změny použijete, nástroj pro tvorbu pravidel ověří pravidlo a upozorní vás na nesoulad mezi kulatými závorkami a nepodporovanými logickými operátory.

Chcete-li zobrazit tuto stránku administrativní konzoly, klepněte na volbu Servery > Typy serverů > Směrovače ODR > ODR > Vlastnosti směrovače ODR > Pravidla protokolu HTTP pro zásady směrování > Přidat > Tvůrce podvýrazů.

K úpravě pravidel v nástroji pro tvorbu pravidel jsou zapotřebí oprávnění k administraci.

Vybrat operand

Operandy zásad služeb a směrování

V závislosti na vybraném protokolu se zobrazí různé operandy. Následující tabulka zahrnuje názvy operandů zobrazené v konzole, skutečný operand, jak bude zobrazen ve výrazu, platné protokoly pro jednotlivé operandy a popis jednotlivých operandů.

Tabulka 1. Operandy
Proměnná požadavku Platné protokoly Popis
virtualhost

HTTP

SOAP

Cíl virtuálního hostitele požadavku použitý ke konfiguraci webových aplikací pro určitý název hostitele.
virtualport

HTTP

Cíl virtuálního portu požadavku použitý ke konfiguraci webových aplikací pro určitý port.
uri

HTTP

Identifikátor URI (Uniform Resource Identifier). Slouží k získání cesty požadavku. Pokud adresa URL byla "http://host:port/path?p1=v1", pak cesta je "path".
Jméno uživatele   Vrátí ID pro ověřeného uživatele, který odeslal požadavek.
ID skupin   Vrátí seznam názvů skupin pro ověřeného uživatele, který odeslal požadavek.
Vyžádat název parametru dotazu   Název a hodnota záhlaví.
Například výraz queryparm$timezone='EST' testuje, zda požadavek obsahuje název parametru dotazu HTTP nazvaný timezone s hodnotou EST. Chcete-li otestovat přítomnost či nepřítomnost parametru dotazu, použijte jeden z následujících způsobů:
queryparm$timezone IS NOT NULL 
queryparm$timezone IS NULL
Název záhlaví požadavku

Název a hodnota záhlaví.
Například výraz header$Host='localhost' testuje, zda požadavek obsahuje záhlaví hostitele HTTP s hodnotou localhost. Chcete-li otestovat přítomnost či nepřítomnost záhlaví hostitele, použijte jeden z těchto výrazů:
header$Host IS NOT NULL 
header$Host IS NULL
Název záhlaví souboru cookie   Název souboru cookie.
Například výraz cookie$My_Cookie_Name='My_Cookie_Value' testuje, zda požadavek obsahuje soubor cookie nazvaný My_Cookie_Name s hodnotou My_Cookie_Value. Chcete-li otestovat přítomnost či nepřítomnost konkrétního souboru cookie, použijte jeden z těchto výrazů:
cookie$MyCookieName IS NOT NULL
cookie$MyCookieName IS NULL
HTTPMethod

HTTP

SOAP

Metoda HTTP pro požadavek. Možné hodnoty jsou POST, GET, PUT a DELETE.
clienthost

HTTP

SOAP

IIOP

SIP

Úplný název hostitele klienta. Jedná se o hodnotu názvu hostitele příkazů protokolu IP (Internet Protocol). Tento operand nepodporuje číselné operátory, jako jsou >, >=, <, <=.
clientipv4

HTTP

SOAP

SIP

Adresa IP počítače klienta s použitím adresy protokolu IPv4 (Internet Protocol verze 4) čtyřmístného typu odděleného tečkami n.n.n.n.
clientipv6

HTTP

SOAP

SIP

Adresa IPv6 (Internet Protocol verze 6) 128bitového typu x:x:x:x:x:x:x:x následující po dokumentu RFC 1924 (Request for Comments 1924) počítače klienta.
serverhost

HTTP

SOAP

IIOP

SIP

Úplný název hostitele serveru. Tento operand nepodporuje číselné operátory, jako jsou >, >=, <, <=.
serveripv4

HTTP

SOAP

SIP

Adresa IP počítače serveru s použitím adresy protokolu IPv4 čtyřmístného typu odděleného tečkami n.n.n.n.
serveripv6

HTTP

SOAP

SIP

Adresa IPv6 128bitového typu x:x:x:x:x:x:x:x následující po dokumentu RFC 1924 počítače serveru.
port

HTTP

SOAP

IIOP

SIP

Port naslouchání, na kterém byl přijat požadavek.
protocol

HTTP

SOAP

Komunikační protokol, který přenáší požadavek. V současné době jsou podporované protokoly HTTP, HTTPS, SOAP a SOAPS.
virtualportal

HTTP

SOAP

Virtuální portály jsou vytvářeny na serveru WebSphere® Portal Server a funkce Intelligent Management podporuje tento operand pro lepší integraci se serverem WebSphere Portal Server. Virtuální portál je adresa URL požadavku bez kontextového kořenového adresáře pro webový modul aplikace WebSphere Portal. Pokud daný požadavek odpovídá definovanému virtuálnímu portálu, provede se akce směrování definovaná pro toto pravidlo.
time

HTTP

SOAP

IIOP

Tento operand je používá k definování data a času, kdy musí být daný požadavek splněn. Dvě nepovinná pole jsou Čas zahájení a Čas ukončení. Pokud je požadavek přijat mimo toto definované časové okno, nebude zpracován.

Pole Čas zahájení a Čas ukončení mají následující formát: den_v_týdnu/den_v_měsíci/měsíc/rok::hodina:minuta:sekunda.

Například čtvrtek 11. dubna roku 2007 ve 13:03:45 bude uveden takto:

Thu/11/Apr/2007::13:03:45

V libovolném poli lze použít zástupný znak s hodnotou *. Například 1. den každého měsíce je určen jako */1.

Hodnota pro den_v_týdnu jsou Sun, Mon, Tue, Wed, Thu, Fri, Sat a pro den_v_měsíci 1-31.

Hodnota pole měsíc je nečíselná hodnota představující dvanáct měsíců: Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec.

Hodnota pole rok je tvořena čtyřmi číslicemi daného roku. Například 2007.

Hodnota pole hodina je hodina dne na 24hodinové časomíře. Například 8 hodin ráno představuje hodnota ::8. Minuta a sekunda jsou celá čísla v rozsahu 0-59.

Dopředné lomítko (/) se používá k oddělení parametrů data, dvojitá dvojtečka (::) k oddělení hodnot data a času a dvojtečka (:) k oddělení parametrů času. Všimněte si, že akci směrování, která se provede, určuje logický výsledek celého pravidla, v němž se používá operand time.

percentage$<val>

HTTP

SOAP

IIOP

SIP

Operand percentage se vyhodnotí jako true v pevně určené procentní části případů. Například percentage$50 se vyhodnotí jako true v průměru v 50 % případů.
rampup$<startTime>$<completionTime>

HTTP

SOAP

IIOP

SIP

Operand rampup se vyhodnotí jako true v proměnné procentní části případů. Vždy se vyhodnotí jako false před časem zahájení <startTime> a jako true po čase dokončení <completionTime>. Jak plyne čas od času zahájení <startTime> k času dokončení <completionTime>, vyhodnocuje se jako true s lineárně rostoucí pravděpodobností.

Formát času zahájení <startTime> a času dokončení <completionTime> je den/měsíc/rok::hodina:minuta:sekunda.

Kde den je den v měsíci, měsíc je jeden z dvanácti měsíců: Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec, rok je čtyřciferný rok, hodina je dvouciferná hodina na 24hodinové časomíře a minuta a sekunda jsou dvouciferné hodnoty minut a sekund.

Příklad:

rampup$01/Jan/2007::08:00:00$01/Jan/2007::17:00:00 začíná občasným vyhodnocením jako true v 8 hodin ráno 1. ledna 2007 a vždy se vyhodnotí jako true od času dokončení náběhu v 5 hodin odpoledne téhož dne.

Operátor

  • Je rovno, ignorovat velká/malá písmena (EQUALSIGNORECASE): Identický s 'Řetězec = Řetězec' s tím rozdílem, že je ignorována velikost písmen v řetězcích. Takže 'ABC' EQUALSIGNORECASE 'abc' se vyhodnocuje na true. ('ABC' = 'abc') se vyhodnocuje na false.
  • Nerovná se ( <> ): Operátor nerovnosti vyjadřuje, že hodnota operandu není rovna zadané hodnotě.
  • V (IN): Tento operátor vyjadřuje operand s více hodnotami v jediném výrazu. Pokud například chcete pro operand s názvem port vyjádřit, že hodnotou portu může být kterákoli (nebo všechny) z hodnot 9080, 9090 a 9091, fragment výrazu je port IN (9080,9090,9091). Způsob vyjádření hodnot v závorkách závisí na datovém typu portu. Pokud je port celé číslo, správnou syntaxí jsou hodnoty bez apostrofů. Pokud je port řetězec, správná syntaxe je port IN (‘9080’,‘9090’,‘9091’).
  • Je jako (LIKE): Tento operátor vyjadřuje porovnání vzorků u hodnot řetězcových operandů. Hodnota musí obsahovat zástupný znak procento (%) na pozici, kde začíná porovnání vzorků. Například výraz host LIKE %blanca odpovídá slovu blanca nebo jakémukoli jinému slovu, které končí řetězcem blanca, zatímco výraz host LIKE blanca% odpovídá slovu blanca nebo jakémukoli jinému slovu, které začíná řetězcem blanca, a výraz host LIKE %blanca% odpovídá slovu blanca nebo jakémukoli jinému slovu, které obsahuje řetězec blanca.
  • Je jako, ignorovat velká/malá písmena (LIKEIGNORECASE): Identický s 'řetězec like řetězec' s tím rozdílem, že je ignorována velikost písmen v řetězcích.
  • Není null (IS NOT NULL): Tento operátor vyjadřuje, že ověření dotazu ukazuje existenci požadovaného parametru.
  • Zřetězit (+): Tento operátor vyjadřuje spojení dvou znakových řetězců: 'abc' + 'def' = 'abcdef'.
  • Jako v (LIKEIN): Tento operátor vyjadřuje, že řetězec likein (řetězec1, řetězec2, řetězec3 atd.) se vyhodnocuje na true, pokud řetězec nalevo od operátoru "likein" odpovídá minimálně jednomu z řetězců (řetězecN).
  • Je null (IS NULL): Tento operátor vyjadřuje, že ověření dotazu ukazuje neexistenci požadovaného parametru.
  • Je rovno ( = ): Operátor rovnosti vyjadřuje shodu včetně velikosti písmen.

Hodnota

V závislosti na vámi zvoleném operátoru zadejte hodnotu podvýrazu, který jste se rozhodli vytvořit.

Generovat podvýraz

Generovat podvýraz jako výsledek vámi zadaného operandu, operátoru a hodnot.

Připojit

Klepnutím připojíte do rámečku na panelu pravidel.



Název souboru: http_rulebuilder_detail.html