This content has been machine translated dynamically.
Dieser Inhalt ist eine maschinelle Übersetzung, die dynamisch erstellt wurde. (Haftungsausschluss)
Cet article a été traduit automatiquement de manière dynamique. (Clause de non responsabilité)
Este artículo lo ha traducido una máquina de forma dinámica. (Aviso legal)
此内容已经过机器动态翻译。 放弃
このコンテンツは動的に機械翻訳されています。免責事項
이 콘텐츠는 동적으로 기계 번역되었습니다. 책임 부인
Este texto foi traduzido automaticamente. (Aviso legal)
Questo contenuto è stato tradotto dinamicamente con traduzione automatica.(Esclusione di responsabilità))
This article has been machine translated.
Dieser Artikel wurde maschinell übersetzt. (Haftungsausschluss)
Ce article a été traduit automatiquement. (Clause de non responsabilité)
Este artículo ha sido traducido automáticamente. (Aviso legal)
この記事は機械翻訳されています.免責事項
이 기사는 기계 번역되었습니다.책임 부인
Este artigo foi traduzido automaticamente.(Aviso legal)
这篇文章已经过机器翻译.放弃
Questo articolo è stato tradotto automaticamente.(Esclusione di responsabilità))
Translation failed!
HTTP コールアウトの呼び出し
HTTP コールアウトを設定したら、デフォルトの構文ポリシー規則にSYS.HTTP_CALLOUT(<name>)
式を含めることによって、コールアウトを呼び出します。この式では、<name>
は呼び出す HTTP コールアウトの名前です。
コールアウト式とともにデフォルトの構文式演算子を使用して、応答を処理し、適切なアクションを実行できます。HTTP コールアウトエージェントからの応答の戻り値の型によって、応答で使用できる演算子のセットが決まります。分析する応答の一部がテキストの場合は、テキスト演算子を使用して応答を分析できます。たとえば、<string> 次の例のように、CONTAINS () 演算子を使用して、レスポンスの指定した部分に特定の文字列が含まれているかどうかを確認できます。
SYS.HTTP_CALLOUT(mycallout).contains("Good IP address")
<!--NeedCopy-->
応答側ポリシーで前述の式を使用する場合は、適切な応答側アクションを設定できます。
同様に、評価する応答の一部が数値である場合は、GT(int)などの数値演算子を使用できます。応答にブール値が含まれている場合は、ブール演算子を使用できます。
注:HTTPコールアウトは、再帰的に自分自身を呼び出すことができます。HTTP コールアウトの再帰を回避するには、HTTP コールアウト式と、再帰を防止するデフォルトの構文式を組み合わせます。HTTP コールアウトの再帰を回避する方法については、「HTTP コールアウトの再帰を回避する」を参照してください。
以前に生成されたコールアウトを評価した後にコールアウトを呼び出すポリシーを設定することで、HTTP コールアウトをカスケードすることもできます。このシナリオでは、あるポリシーがコールアウトを呼び出した後、Citrix ADCアプライアンスがコールアウトをコールアウトサーバーに送信する前にコールアウトを解析するときに、2番目のポリシーセットでコールアウトを評価し、追加のコールアウトを呼び出すことができます。このコールアウトは、3番目のポリシーセットで評価できます。このような実装については、次の例で説明します。
まず、myCallout1 という HTTP コールアウトを設定してから、応答側ポリシー Pol1 を設定して myCallout1 を呼び出すことができます。次に、2 番目の HTTP コールアウト myCallout2、レスポンダーポリシー Pol2 を構成できます。Pol2 を設定して、myCallout1 を評価し、myCallout2 を呼び出します。両方のレスポンダーポリシーをグローバルにバインドします。
HTTP コールアウトの再帰を避けるために、myCallout1 には「Request1」という一意のカスタム HTTP ヘッダーが設定されています。Pol1 は、HTTP コールアウトの再帰を避けるように設定されており、デフォルトの構文式
HTTP.REQ.HEADER("Request1").EQ("Callout Request").NOT.
<!--NeedCopy-->
Pol2は同じデフォルトの構文式を使用しますが、.NOT演算子は除外されるため、Citrix ADCアプライアンスがmyCallout1を解析するときにポリシーが評価します。myCallout2 は「Request2」と呼ばれる独自のヘッダーを識別し、Pol2 には myCallout2 が再帰的に呼び出されないようにするためのデフォルトの構文式が含まれています。
例:
> add policy httpCallout myCallout1
Done
> set policy httpCallout myCallout1 -IPAddress 10.102.3.95 -port 80 -returnType TEXT -hostExpr
""10.102.3.95"" -urlStemExpr ""/cgi-bin/check_clnt_from_database.pl"" -headers Request1
("Callout Request") -parameters cip(CLIENT.IP.SRC) -resultExpr "HTTP.RES.BODY(100)"
Done
> add responder policy Pol1 "HTTP.REQ.HEADER("Request1").EQ("Callout Request").NOT &&
SYS.HTTP_CALLOUT(myCallout1).CONTAINS("IP Matched")" RESET
Done
> bind responder global Pol1 100 END -type OVERRIDE
Done
> add policy httpCallout myCallout2
Done
> set policy httpCallout myCallout2 -IPAddress 10.102.3.96 -port 80 -returnType TEXT -hostExpr
""10.102.3.96"" -urlStemExpr ""/cgi-bin/check_clnt_location_from_database.pl"" -headers Request2
("Callout Request") -parameters cip(CLIENT.IP.SRC) -resultExpr "HTTP.RES.BODY(200)"
Done
> add responder policy Pol2 "HTTP.REQ.HEADER("Request2").EQ("Callout Request").NOT &&
HTTP.REQ.HEADER("Request1").EQ("Callout Request") && SYS.HTTP_CALLOUT(myCallout2).CONTAINS
("APAC")" RESET
Done
> bind responder global Pol2 110 END -type OVERRIDE
Done
<!--NeedCopy-->
共有
共有
この記事の概要
This Preview product documentation is Cloud Software Group Confidential.
You agree to hold this documentation confidential pursuant to the terms of your Cloud Software Group Beta/Tech Preview Agreement.
The development, release and timing of any features or functionality described in the Preview documentation remains at our sole discretion and are subject to change without notice or consultation.
The documentation is for informational purposes only and is not a commitment, promise or legal obligation to deliver any material, code or functionality and should not be relied upon in making Cloud Software Group product purchase decisions.
If you do not agree, select I DO NOT AGREE to exit.