Citrix ADC

Konfigurieren进行HTTP-Callouts

HTTP- callouts geben Sie den Typ der Anforderung (HTTP order HTTPS), as Ziel und as Format der Anforderung an。Das erwartete格式anderanderwort und schließlich der Teil der Antwort, den Sie analysieren möchten。

Für http - callout - agentan的ip地址和端口。Oder betreiben Sie einen Lastenausgleich, einen Content Switching Oder einen virtuellen Cache-Umleitungsserver, um die HTTP-Callout-Anforderungen zu verwalten。

HTTP-Callout-Anfragen direct HTTP-Callout-Agent gesendet。Im zweiten Fall werden die HTTP-Callout-Anfragen an die virtuelle ip - address (VIP) des anggebenen virtuellen服务器。Der virtuelle Server verarbeitet die Anforderung auf die gleiche Weise, wie er eine Clientanforderung verarbeitet。Wenn Sie beispielsweise erwarten, dass viele Callouts generiert werden, können Sie Instanzen des HTTP-Callout-Agenten auf mehren Servern konfigurieren, diese Instanzen (als Dienste) an einen virtuellen Lastausgleichsserver binden dann den virtuellen Lastausgleichsserver in der HTTP-Callout-Konfiguration angeben。Der virtuelle lastausgleichss server gleicht dann die Last auf den konfigurierten Instanzen aus, wie durch den lastausgleichsaln算法最好的估计。

Für das格式HTTP-Callout- anforderung können Sie die einzelnen HTTP-Calloutanforderung (eine attributbasierte HTTP-Callout)属性HTTP-Calloutanforderung (eine attributbasierte HTTP-Callout)安吉本oder die gesamte HTTP-Callout- anforderung als erweiterten Richtlinienausdruck (eine ausdrucksbasierte HTTP-Callout)安吉本。

Für das格式HTTP-Callout- anforderung können Sie die einzelnen属性HTTP-Callout- anforderung angeben (ein attributbasiertes HTTP-Callout), oder Sie können die gesamte HTTP-Callout- anforderung als erweiterten Richtlinienausdruck (ausdrucksbasiertes HTTP-Callout) angeben。

Weitere Informationen finden Sie underPolicy-HttpCallout

参数 使用说明书
的名字 名字des Callouts,最大值127 zechen
ip地址与端口(IP-Adresse /端口vserver服务器名称 IPv4- oder ipv6 - address des Servers, an den das Callout gesendet word, oder ein Platzhalter und des Port auf dem Server, an den das Callout gesendet word, oder ein Platzhalter。Oder der Name eines virtuellen负载均衡-,内容交换- Oder Cache-Umleitungsservers mit einem Diensttyp von HTTP。
HTTP-Methode (HttpMethod) HTTP-Methode (HttpMethod)。Methode, die in der HTTP-Anforderung verwendet, die dieser Callout senddet。Gültige Werte: GET oder POST。Standardwert:。
Host-Ausdruck (HostExpr) Host-Ausdruck (HostExpr)。Erweiterter Textausdruck zum Konfigurieren des主机头。Maximale Länge: 255 Der Ausdruck kann in Literalwert sein oder ein erweiterter Ausdruck sein, Der den Wert ableitet。http.req Beispiele:“10.101.10.11”。”标题(“主机”)”
URL-Stammausdruck (urlStemExpr) URL-Stammausdruck (urlStemExpr) Ein erweiterter Zeichenfolgenausdruck zum Generieren des URL-Stammes。Maximale Länge: 8191 Der Ausdruck kann eine literale Zeichenfolge oder in Ausdruck sein, Der den Wert ableitet。Beispiele: " " /mysite/index.html " " " http.req.url "
http头(头) http头(Header)。Erweiterter Textausdruck zum Einfügen von HTTP-Headern und deren Werten in die HTTP-Calloutanforderung。Geben Sie für jeden Header einen Wert an。字符串和字符串头- wert als erweiterten Ausdruck an。Geben Sie die Header durch leerzechen getrennt an。Wie -Header cip (client.ip.src) hdr (http.req. src)头(HDR))。安扎尔·德头·康特拉根
服务器(FullReqExpr) Exakte HTTP-Anforderung, die der Citrix ADC als erweiterter Ausdruck an 8191 zechen senden soll。Wenn Sie diesen参数angeben, müssen Sie die argument HttpMethod, HostExpr, urlStemExpr, Header和参数weglassen。Der Anforderungsausdruck wild durch das Feature eingeschränkt,在dem das Callout verwendet wild。Beispielsweise kann in HTTP。RES-Ausdruck nicht in einer Richtlinienbank zur Anforderungszeit oder in einer TCP-Content switch -Richtlinienbank verwendet werden。
Ausdruckbasierte Anfrage zum Senden an den Server (BodyExpr) Ein erweiterter Zeichenfolgenausdruck zum Generieren des Hauptkörpers der Anforderung。Der Ausdruck kann eine literale Zeichenfolge oder einen Ausdruck enthalten, Der den Wert ableitet (z. B. client.ip.src)。Schließt sich gegenseitig mit -FullReqExpr aus。
参数 Erweiterter Ausdruck zum Einfügen von Abfrageparametern in die HTTP-Anforderung, die der Callout senddet。Geben Sie einen Wert für jeden Parameter an, den Sie konfigurieren。Wenn die Callout-Anfrage die GET-Methode verwendet, werden diese参数在die URL eingefügt。Wenn die Callout-Anfrage die POST-Methode verwendet, werden diese Parameter in den POST-Text eingefügt。你的名字是什么?你的名字是什么?模具参数为URL-codiert。Geben Sie die durch Leerzeichen getrennten参数wie፦参数name1 (" name1 ") name2 (http.req。头(hdr))。模最大8参数können konfiguriert werden。
Ruckgabetyp (ReturnType) Typ der Daten, die die Zielanwendung in der Antwort auf den Callout zurückgibt。Gültige Werte: TEXT: Behandeln Sie den zurückgegebenen Wert als Textzeichenfolge。NUM: Behandeln Sie den zurückgegebenen Wert als Zahl。BOOL: Behandelt den zurückgegebenen Wert als booleschen Wert。Hinweis: Sie können den Rückgabetyp nicht ändern, nachdem er festgelegt wurde。
澳洲葡萄提取物(英文) Erweiterter Ausdruck, der HTTP。RES-Objekte aus der Antwort auf die HTTP-Callout extrahiert。Die maximale Länge beträgt 8191。Die Operationen in diesem Ausdruck müssen mit dem Rückgabetyp übereinstimmen。Wenn Sie beispielsweise einen Rückgabetyp von Text konfigurieren, muss der Ergebnisausdruck in Text basierter audruck sein。Wenn der Rückgabetyp num ist, muss der Ergebnisausdruck (resultExpr) einen numerischen Wert ähnlich dem folgenden zurückgeben: " http:// .res。body (10000) .length " Hinweis: Wenn Sie manchmal einen Rückgabetyp von TEXT festlegen und das vom Server gesendete Ergebnis 16 KB überschreitet, kann der Ergebnisausdruck NULL zurückgeben。Wenn das Ergebnis beispielsweise eine verkettete Zeichenfolge ist, die 16 KB überschreitet。
模式 Die Art des Schemas für den Callout-Server。Beispiel: HTTP、https
cacheForSecs Dauer in Sekunden, für die die Callout-Antwort zwischengespeichert wild。Die zwischengespeicherten Antworten werden in einer integrerten缓存内容群命名为“CalloutContentGroup”gespeichert。我的名字是,我的名字是,我的名字是,我的名字是,我的名字是,我的名字是,我的名字是,我的名字。柴油参数表Vorrang vor jder normalen缓存配置,die sonst für diese Antworten gelten würde。

Hinweis:模具器具überprüft nicht模具Gültigkeit der Anforderung。您müssen西赫斯特伦,法国安弗雷德安弗雷德安弗雷德安弗雷德安弗雷德安弗雷德安弗雷德安弗雷德安弗雷德安弗雷德安弗雷德安弗雷德恩enthält。Eine falsche oder unvollständige HTTP-Callout-Konfiguration führt zu einer runtime - def - bedingung, die keiner Aktion zugeordnet ist。Die unff - bedingung aktualisiert lediglich den Zähler Undefined Hits, wodurch Sie eine falsch konfigurierte HTTP-Callout beheben können。Die Appliance analysiert jedoch Die HTTP-Callout-Anforderung, damit Sie bestimmte Citrix ADC-Funktionen für den Callout konfigurieren können。die kann zu einem HTTP-Callout führen, der sich selbst aufruft。信息,呼叫,回顾,和,wie Sie Sie vermeiden können,找到你Vermeiden冯HTTP-Callout-Rekursion

Unabhängig davon, ob Sie HTTP-Anforderungsattribute oder einen Ausdruck verwenden, um das Format der HTTP-Callout-Anforderung zu definieren, müssen Sie格式der Antwort vom HTTP-Callout-Agent und den Teil der Antwort angeben, den Sie auswerten möchten。Der Antworttyp kann ein booolescher Wert, eine Zahl oder Text sein。Nur basierend auf diesem Rückgabetyp können Sie die weiteren Ausdrucksmethoden für die Callout-Antwort verwenden。Wenn der Rückgabetyp eine Zahl ist, können Sie den zahlenbasierten Ausdruck für die Callout-Antwort verwenden。Der Teil Der Antwort, den Sie auswerten möchten, wild durch einen Ausdruck angegeben。Wenn Sie beispielsweise angeben, dass die Antwort Text enthält, können Sie mitHTTP.RES.BODY(<单位>)angeben, dass die Appliance nur die ersten Bytes der Antwort des Callout-Agenten auswerten darf。

在der Befehlszeile erstellen Sie zunächst ein HTTP-Callout mit dem Befehl add. Wenn Sie ein Callout hinzufügen, werden allle Parameter auf den Standardwert NONE festgelegt, mit Ausnahme der HTTP-Methode, die auf den Standardwert GET festgelegt ist。Anschließend konfigurieren Sie die参数des mit dem Befehl集合。Der Befehl set wildverwendet, um beide Arten von Callouts zu konfigurieren (attributsbasiert und ausdrucksbasiert)。Der Unterschied liegt in den Parametern, die für die Konfiguration Der beiden Arten von Callouts verwendet werden。Die folgenden Befehlszeilenanweisungen enthalten also einen set-Befehl zum Konfigurieren eines attributbasierten Callouts und einen set-Befehl zum Konfigurieren eines ausdrucksbasierten Callouts。我的设计程序在einem einzigen对话框ausgeführt。

Hinweis: Bevor Sie in HTTP-Callout in eine Richtlinie einfügen, können Sie alle konfigurierten参数mit Ausnahme des Rückgabetyps ändern。HTTP-Callout in einer Richtlinie befindet, können Sie einen Ausdruck, der in dem Callout konfiguriert ist, nicht vollständig ändern。Beispielsweise können Sie HTTP.REQ.HEADER(“myval”)nicht在CLIENT.IP.SRC ändern。Sie können die操作和争论ändern, die an den Ausdruck übergeben werden。Sie können z. B。HTTP.REQ.HEADER(“myVal1”)HTTP.REQ.HEADER(“myVal2”)奥得河HTTP.REQ.HEADER(“myVal”)HTTP.REQ.HEADER(“myVal”).AFTER_STR(<字符串>)andern。Wenn der Befehl set fehlschlägt, erstellen Sie eine HTTP-Callout。

HTTP-Callouts werden erweiterte Richtlinienausdrücke konfiguriert。“我的信息”“我的信息”“我的信息”“我的信息”Richtlinienausdrücken“我的信息”“我的信息”Richtlinienausdrücke“我的信息”。

因此,konfigurieren Sie in HTTP-Callout mit der Befehlszeilenschnittstelle

Führen你是如何理解我们的:

Erstellen Sie in HTTP-Callout。

add policy httpCallout  [-IPAddress ] [-port] [-vServer ] [-returnType ] [-httpMethod (GET | POST)] [-hostExpr ] [-urlStemExpr ] [-headers …[-parameters …][-bodyExpr ] [-fullReqExpr ] [-scheme (http | https)] [-resultExpr ] [-cacheForSecs ] [-comment ] 

Beispiel

添加策略httpCallout mycallout -vserver lbv1 -returnType num -httpMethod GET -hostExpr 'http.req.header("Host")'-urlStemExpr "http.req. header("Host") "url" -parameters Name("My Name") -headers Name("MyHeader")-resultExpr "http.res.body(10000)。长度“< !——NeedCopy >

Ändern Sie die HTTP-Callout-Konfiguration。

set policy httpCallout  [-IPAddress ] [-port ] [-vServer ] [-returnType ] [-httpMethod (GET | POST)] [-hostExpr ] [-urlStemExpr ] [-headers …[-parameters …][-resultExpr ] 

Beispiel

> set policy httpCallout mycallout -vserver lbv1 -returnType num -httpMethod GET -hostExpr 'http.req.header("Host")'-urlStemExpr "http.req. header("Host") "url" -parameters Name("My Name") -headers Name("MyHeader") -resultExpr "http.res.body(10000)。长度“< !——NeedCopy >

HTTP-Callout mit dem FullReqExpr-Parameter。

set policy httpCallout  [-vServer ] [-returnType ] [-fullReqExpr ] [-resultExpr ] 

Beispiel

> 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 >

Überprüfen Sie die konfigationen des HTTP-Callout。

show policy httpCallout '  ' sh policy httpCallout mycallout1 >名称:mycallout1 >Vserver: lbv1 (UP) Vserver有效状态:UP返回类型:TEXT方案: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 > 

因此,在HTTP-Callout中建立建立程序

  1. Navigieren您祖茂堂AppExpert>HTTP-Callouts
  2. Klicken我是Detailbereich aufHinzufugen
  3. Konfigurieren我是对话框HTTP-Callout erstellendie HTTP-Callouts参数。Um eine Beschreibung des Parameters zu erhalten, bewegen Sie den Mauszeiger über das Kontrollkästchen。
  4. Klicken您再见创建和丹汪汪汪关闭Konfigurieren静脉HTTP-Callout
Konfigurieren进行HTTP-Callouts