Přeposlání požadavku
PLATÍ PRO: Všechny úrovně služby API Management
Zásady forward-request
předávají příchozí požadavek back-endové službě zadané v kontextu požadavku. Adresa URL back-endové služby je zadaná v nastavení rozhraní API a dá se změnit pomocí zásad nastavené back-endové služby.
Důležité
- Tato zásada se vyžaduje k předávání požadavků do back-endu rozhraní API. Ve výchozím nastavení služba API Management nastaví tuto zásadu v globálním oboru.
- Odebráním této zásady se požadavek nepřesměrovává do back-endové služby. Zásady v oddílu odchozích přenosů se vyhodnocují okamžitě po úspěšném dokončení zásad v příchozím oddílu.
Poznámka:
Nastavte prvky zásad a podřízené prvky v pořadí uvedeném v prohlášení o zásadách. Přečtěte si další informace o tom, jak nastavit nebo upravit zásady služby API Management.
Prohlášení o zásadách
<forward-request http-version="1 | 2or1 | 2" timeout="time in seconds (alternatively, use timeout-ms)" | timeout-ms="time in milliseconds (alternatively, use timeout)" continue-timeout="time in seconds" follow-redirects="false | true" buffer-request-body="false | true" buffer-response="true | false" fail-on-error-status-code="false | true"/>
Atributy
Atribut | Popis | Požaduje se | Výchozí |
---|---|---|---|
timeout | Doba v sekundách čekání na vrácení hlaviček odpovědi HTTP back-endovou službou před vyvoláním chyby časového limitu. Minimální hodnota je 0 sekund. Hodnoty větší než 240 sekund nemusí být dodrženy, protože základní síťová infrastruktura může po této době vynechat nečinná připojení. Výrazy zásad jsou povolené. Můžete zadat buď timeout nebo timeout-ms ne obojí. |
No | 300 |
timeout-ms | Doba v milisekundách, po kterou se před vyvoláním chyby časového limitu vrátí hlavičky odpovědi HTTP back-endovou službou. Minimální hodnota je 0 ms. Výrazy zásad jsou povolené. Můžete zadat buď timeout nebo timeout-ms ne obojí. |
No | – |
časový limit pro pokračování | Doba v sekundách čekání na vrácení stavového 100 Continue kódu back-endovou službou před vyvoláním chyby časového limitu Výrazy zásad jsou povolené. |
No | – |
http-version | Verze specifikace HTTP, která se má použít při odesílání odpovědi HTTP do back-endové služby. Při použití 2or1 bude brána upřednostňovat http /2 přes /1, ale pokud http /2 nefunguje, vraťte se zpět na HTTP /1. |
No | 0 |
sledování přesměrování | Určuje, jestli za bránou následuje přesměrování z back-endové služby nebo se vrátí volajícímu. Výrazy zásad jsou povolené. | No | false |
buffer-request-body | Pokud je nastavená hodnota true , požadavek se uloží do vyrovnávací paměti a znovu se použije při opakování. |
No | false |
buffer-response | Ovlivňuje zpracování blokovaných odpovědí. Pokud je false tato možnost nastavená, každý blok přijatý z back-endu se okamžitě vrátí volajícímu. Pokud je nastavená hodnota true , bloky dat se ukládají do vyrovnávací paměti (8 kB, pokud není zjištěn konec datového proudu) a teprve potom se vrátí volajícímu.Nastavte na false back-endy, jako jsou například ty, které implementují události odeslané serverem (SSE), které vyžadují, aby se obsah vrátil nebo streamoval okamžitě volajícímu. Výrazy zásad nejsou povolené. |
No | true |
fail-on-error-status-code | Pokud je tato možnost nastavená na true hodnotu , aktivuje část o chybě pro kódy odpovědí v rozsahu od 400 do 599 včetně. Výrazy zásad nejsou povolené. |
No | false |
Využití
- Oddíly zásad: back-end
- Obory zásad: globální, pracovní prostor, produkt, rozhraní API, operace
- Brány: Classic, v2, consumption, self-host, workspace
Příklady
Odeslání požadavku na back-end HTTP/2
Následující zásady na úrovni rozhraní API předávají všechny požadavky rozhraní API back-endové službě HTTP/2.
<!-- api level -->
<policies>
<inbound>
<base/>
</inbound>
<backend>
<forward-request http-version="2or1"/>
</backend>
<outbound>
<base/>
</outbound>
</policies>
To se vyžaduje pro úlohy HTTP /2 nebo gRPC a aktuálně se podporuje jenom v bráně v místním prostředí. Další informace najdete v přehledu brány rozhraní API.
Forward request with timeout interval
Následující zásady na úrovni rozhraní API předávají všechny požadavky rozhraní API do back-endové služby s časovým limitem 60 sekund.
<!-- api level -->
<policies>
<inbound>
<base/>
</inbound>
<backend>
<forward-request timeout="60"/>
</backend>
<outbound>
<base/>
</outbound>
</policies>
Dědění zásad z nadřazeného oboru
Tato zásada na úrovni operace používá base
element k dědění back-endové zásady z oboru nadřazené úrovně rozhraní API.
<!-- operation level -->
<policies>
<inbound>
<base/>
</inbound>
<backend>
<base/>
</backend>
<outbound>
<base/>
</outbound>
</policies>
Nedědí zásady z nadřazeného oboru
Tato zásada na úrovni operace explicitně předává všechny požadavky back-endové službě s vypršením časového limitu 120 a nedědí zásady back-endu na úrovni nadřazeného rozhraní API. Pokud back-endová služba odpoví stavovým kódem chyby od 400 do 599 včetně, aktivuje se část o chybě .
<!-- operation level -->
<policies>
<inbound>
<base/>
</inbound>
<backend>
<forward-request timeout="120" fail-on-error-status-code="true" />
<!-- effective policy. note the absence of <base/> -->
</backend>
<outbound>
<base/>
</outbound>
</policies>
Nepřeposílat požadavky na back-end
Tato zásada na úrovni operace nepředává požadavky back-endové službě.
<!-- operation level -->
<policies>
<inbound>
<base/>
</inbound>
<backend>
<!-- no forwarding to backend -->
</backend>
<outbound>
<base/>
</outbound>
</policies>
Související zásady
Související obsah
Další informace o práci se zásadami najdete v tématech:
- Kurz: Transformace a ochrana rozhraní API
- Referenční informace o zásadách pro úplný seznam prohlášení o zásadách a jejich nastavení
- Výrazy zásad
- Nastavení nebo úprava zásad
- Opakované použití konfigurací zásad
- Úložiště fragmentů zásad
- Sada nástrojů zásad služby Azure API Management
- Vytváření zásad pomocí Microsoft Copilotu v Azure