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 コールアウトを設定するときは、リクエストのタイプ(HTTP または HTTPS)、送信先、およびリクエストの形式を指定します。応答の期待される形式、および最後に分析する応答の部分。
宛先には、HTTP コールアウトエージェントの IP アドレスとポートを指定します。または、負荷分散、コンテンツスイッチング、またはキャッシュリダイレクト仮想サーバーを使用して、HTTP コールアウト要求を管理します。
最初のケースでは、HTTP コールアウト要求は HTTP コールアウトエージェントに直接送信されます。2 番目のケースでは、HTTP コールアウト要求は、指定された仮想サーバーの仮想 IP アドレス (VIP) に送信されます。仮想サーバーは、クライアント要求を処理するのと同じ方法で要求を処理します。たとえば、多数のコールアウトが生成されることが予想される場合、HTTP コールアウトエージェントのインスタンスを複数のサーバーで構成し、これらのインスタンスを (サービスとして) 負荷分散仮想サーバーにバインドし、HTTP コールアウト設定で負荷分散仮想サーバーを指定できます。次に、負荷分散仮想サーバーは、負荷分散アルゴリズムによって決定された設定済みインスタンスの負荷を分散します。
HTTP コールアウト要求の形式については、HTTP コールアウト要求の個々の属性(属性ベースの HTTP コールアウト)を指定するか、HTTP コールアウト要求全体を高度なポリシー式(式ベースの HTTP コールアウト)として指定できます。
次の表では、HTTP コールアウトポリシーの要素について説明します。
詳細については、「 ポリシー httpCallout」を参照してください。
パラメーター | 説明 |
---|---|
名前 | コールアウトの名前 (最大 127 文字) |
IP アドレスとポート (IP アドレス/ポート) または仮想サーバー名 (vserver) | コールアウトの送信先サーバーの IPv4 または IPv6 アドレス、またはワイルドカード、およびコールアウトの送信先サーバー上のポート、またはワイルドカード。または、サービスタイプが HTTP の負荷分散、コンテンツスイッチング、またはキャッシュリダイレクト仮想サーバーの名前。 |
HTTPメソッド (httpMethod) | HTTPメソッド (httpMethod)。このコールアウトが送信する HTTP リクエストで使用されるメソッド。有効な値:GET または POST。デフォルト:GET。 |
ホスト式 (HostExpr) | ホスト式 (HostExpr)。Host ヘッダーを構成するための高度なテキスト式。最大長:255。式はリテラル値でも、値を導き出す高度な式でもかまいません。例:「10.101.10.11」,「http.req.header (「ホスト」)」 |
URLステム式 (urlStemExpr) | URL ステム式 (urlStemExpr) URL ステムを生成するための高度な文字列式です。最大長:8191. 式には、リテラル文字列または値を導出する式を指定できます。例:「」/mysite/index.html「」「http.req.url」 |
HTTP ヘッダー (ヘッダー) | HTTP ヘッダー (ヘッダー)。HTTP コールアウトリクエストに HTTP ヘッダーとその値を挿入するための高度なテキスト式。すべてのヘッダーに値を指定します。ヘッダー名を文字列として指定し、ヘッダー値を高度な式として指定します。ヘッダーをスペースで区切って指定します。-headers cip (client.ip.src) hdr (http.req.header (「HDR」)) など。ヘッダーの数は 8 にすることができます。 |
サーバーに送信する式ベースの要求 (fullReqExpr) | Citrix ADCが8191文字の高度な式として送信する正確なHTTPリクエスト。このパラメータを指定する場合は、HttpMethod、HostExpr、urlStemExpr、ヘッダー、およびパラメーターの引数を省略する必要があります。リクエスト式は、コールアウトが使用されるフィーチャによって制約されます。たとえば、HTTP.RES 式は、要求時ポリシーバンクまたは TCP コンテンツスイッチングポリシーバンクでは使用できません。 |
サーバーに送信する式ベースの要求 (BodyExpr) | リクエストの本文を生成するための高度な文字列式。式には、リテラル文字列または値を導出する式 (client.ip.src など) を含めることができます。-fullReqExpr と相互に排他的です。 |
パラメーター | コールアウトが送信する HTTP リクエストにクエリパラメータを挿入するための高度な式。設定するすべてのパラメータの値を指定します。コールアウトリクエストが GET メソッドを使用する場合、これらのパラメーターは URL に挿入されます。コールアウトリクエストが POST メソッドを使用する場合、これらのパラメータは POST 本文に挿入されます。クエリパラメータ名を文字列として、値を高度な式として設定します。パラメータ値は URL エンコードされます。パラメータをスペースで区切って指定します ፦パラメータ name1 (「name1」) name2 (http.req.header (「hdr」))。最大 8 つのパラメータを設定できます。 |
戻り値の型 (ReturnType) | ターゲットアプリケーションがコールアウトへの応答で返すデータのタイプ。有効な値:TEXT: 戻り値をテキスト文字列として扱います。NUM: 戻り値を数値として扱います。BOOL: 戻り値をブール値として扱います。注意:戻り値の型は、設定後に変更できません。 |
レスポンスからデータを抽出する式 (ResultExpr) | HTTP コールアウトへの応答から HTTP.RES オブジェクトを抽出する高度な式。最大長は 8191 です。この式の操作は、戻り値の型と一致する必要があります。たとえば、戻り値の種類のテキストを構成する場合、結果式はテキストベースの式である必要があります。戻り値の型が num の場合、結果式 (resultExpr) は次のような数値を返す必要があります。「http.res.body (10000) .length」注:場合によっては、戻り値の型を TEXT に設定し、サーバーから送信される結果が 16 KB を超えると、結果式が NULL を返すことがあります。たとえば、結果が 16 KB を超える連結文字列になった場合などです。 |
スキーム | コールアウトサーバーのスキームのタイプ。例:HTTP、https |
cacheForsecs | コールアウト応答がキャッシュされる期間(秒)。キャッシュされた応答は、「calloutContentGroup」という名前の統合キャッシュコンテンツグループに保存されます。デュレーションが設定されていない場合、通常のキャッシュ構成を使用してキャッシュしない限り、コールアウト応答はキャッシュされません。このパラメータは、これらの応答に適用される通常のキャッシュ設定よりも優先されます。 |
注:アプライアンスはリクエストの有効性をチェックしません。リクエストが有効なリクエストであり、機密情報が含まれていないことを確認する必要があります。正しくないまたは不完全な HTTP コールアウト構成は、アクションに関連付けられていない実行時 UNDEF 条件になります。UNDEF 条件は、未定義のヒットカウンタを更新するだけで、誤って設定された HTTP コールアウトをトラブルシューティングできます。ただし、アプライアンスはHTTPコールアウト要求を解析して、コールアウトの特定のCitrix ADC機能を構成できるようにします。これにより、HTTP コールアウトが自身を呼び出す可能性があります。コールアウトの再帰とその回避方法については、「 HTTP コールアウトの再帰を回避する」を参照してください。
最後に、HTTP 要求属性を使用するか、式を使用して HTTP コールアウト要求の形式を定義するかに関係なく、HTTP コールアウトエージェントからの応答の形式と、評価する応答の部分を指定する必要があります。レスポンスタイプには、ブール値、数値、またはテキストを使用できます。この戻り値の型だけに基づいて、コールアウト応答でさらにエクスプレッションメソッドを使用できます。戻り値の型が数値の場合、コールアウト応答で数値ベースの式を使用できます。評価する応答の部分は、式によって指定されます。たとえば、応答にテキストが含まれるように指定した場合、 HTTP.RES.BODY(<unit>)
を使用して、アプライアンスがコールアウトエージェントからの応答の最初の<unit>バイトのみを評価するように指定できます。
コマンドラインでは、最初に add コマンドを使用して HTTP コールアウトを作成します。コールアウトを追加すると、デフォルト値の GET に設定された HTTP メソッドを除き、すべてのパラメータがデフォルト値の NONE に設定されます。次に、set コマンドを使用してコールアウトのパラメータを設定します。set コマンドは、両方のタイプのコールアウト(属性ベースとエクスプレッションベース)を設定するために使用します。違いは、2 種類のコールアウトを設定するために使用されるパラメータにあります。したがって、次のコマンドライン手順には、属性ベースのコールアウトを設定するための set コマンドと、式ベースのコールアウトを設定するための set コマンドが含まれます。構成ユーティリティでは、これらの構成タスクはすべて 1 つのダイアログボックスで実行されます。
注:HTTP コールアウトをポリシーに入れる前に、戻り値のタイプを除くすべての設定済みパラメータを変更できます。HTTP コールアウトがポリシー内にあると、コールアウトで設定されている式を完全に変更することはできません。たとえば、クライアント.IP.SRC に HTTP.REQ ヘッダー (「マイバル」) を変更することはできません。式に渡される演算子と引数は変更できます。たとえば、HTTP.REQ.HEADER("myVal1")
をHTTP.REQ.HEADER("myVal2")
にまたはHTTP.REQ.HEADER("myVal")
をHTTP.REQ.HEADER("myVal").AFTER_STR(<string>)
に変更できます。set コマンドが失敗した場合は、HTTP コールアウトを作成します。
HTTP コールアウトの設定には、高度なポリシー式を設定する必要があります。高度なポリシー式の構成の詳細については、「 高度なポリシー式の構成:はじめに 」トピックを参照してください。
コマンドラインインターフェイスを使用して HTTP コールアウトを構成するには
コマンドプロンプトで、次の操作を行います。
HTTP コールアウトを作成します。
add policy httpCallout <name> [-IPAddress <ip_addr|ipv6_addr>] [-port<port>] [-vServer <string>] [-returnType <returnType>] [-httpMethod (GET | POST )] [-hostExpr <expression>] [-urlStemExpr <expression>] [-headers <name(value)> ...] [-parameters <name(value)> ...] [-bodyExpr <expression>] [-fullReqExpr <expression>] [-scheme ( http | https )] [-resultExpr <expression>] [-cacheForSecs <secs>] [-comment <string>]
<!--NeedCopy-->
例:
add policy httpCallout mycallout -vserver lbv1 -returnType num -httpMethod GET -hostExpr 'http.req.header("Host")'-urlStemExpr "http.req.url" -parameters Name("My Name") -headers Name("MyHeader")-resultExpr "http.res.body(10000).length"
<!--NeedCopy-->
HTTP コールアウトの設定を変更します。
set policy httpCallout <name> [-IPAddress <ip_addr|ipv6_addr|\*>] [-port <port|\*>] [-vServer <string>] [-returnType <returnType>] [-httpMethod ( GET | POST )] [-hostExpr <string>] [-urlStemExpr <string>] [-headers <name(value)> ...] [-parameters <name(value)> ...] [-resultExpr <string>]
<!--NeedCopy-->
例:
> set policy httpCallout mycallout -vserver lbv1 -returnType num -httpMethod GET -hostExpr 'http.req.header("Host")'-urlStemExpr "http.req.url" -parameters Name("My Name") -headers Name("MyHeader") -resultExpr "http.res.body(10000).length"
<!--NeedCopy-->
FullReqExpr パラメータを使用して HTTP コールアウトを構成します。
set policy httpCallout <name> [-vServer <string>] [-returnType <returnType>] [-fullReqExpr <string>] [-resultExpr <string>]
<!--NeedCopy-->
例:
> set policy httpCallout mycallout1 -vserver lbv1 -returnType num fullReqExpr q{"GET " + http.req.url + "HTTP/" + http.req.version.major + "." + http.req.version.minor.sub(1) + "r\nHost:10.101.10.10\r\nAccept: \*/\*\r\n\r\n"}
<!--NeedCopy-->
HTTP コールアウトの設定を確認します。
show policy httpCallout `<name>`
sh policy httpCallout mycallout1
> Name: mycallout1
>Vserver: lbv1 (UP)
Effective Vserver state: UP
Return type: TEXT
Scheme: HTTP
Full REQ expr: "GET " + http.req.url + "HTTP/" + http.req.version.major + "." + http.req.version.minor.sub(1)+ "r\nHost:10.101.10.10\r\nAccept: \*/\*\r\n\r\n"
Result expr: http.res.body(100)
Hits: 0
Undef Hits: 0
Done
>
<!--NeedCopy-->
構成ユーティリティを使用して HTTP コールアウトを構成するには
- AppExpert > HTTP コールアウトに移動します。
- 詳細ペインで、[Add] をクリックします。
- [ HTTP コールアウトの作成 ] ダイアログボックスで、HTTP コールアウトのパラメータを設定します。パラメータの説明については、チェックボックスの上にマウスカーソルを合わせます。
- [Create] をクリックしてから、[Close] をクリックします。
共有
共有
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.