Vidarebefordra begäran
GÄLLER FÖR: Alla API Management-nivåer
Principen forward-request
vidarebefordrar den inkommande begäran till den serverdelstjänst som anges i begärandekontexten. Url:en för serverdelstjänsten anges i API-inställningarna och kan ändras med hjälp av den inställda serverdelstjänstprincipen.
Viktigt!
- Den här principen krävs för att vidarebefordra begäranden till en API-serverdel. Som standard konfigurerar API Management den här principen i det globala omfånget.
- Om du tar bort den här principen kommer begäran inte att vidarebefordras till serverdelstjänsten. Principer i det utgående avsnittet utvärderas omedelbart när principerna i det inkommande avsnittet har slutförts.
Kommentar
Ange principens element och underordnade element i den ordning som anges i principbeskrivningen. Läs mer om hur du anger eller redigerar API Management-principer.
Principuttryck
<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"/>
Attribut
Attribut | beskrivning | Obligatoriskt | Standardvärde |
---|---|---|---|
timeout | Hur lång tid i sekunder som ska vänta tills HTTP-svarshuvudena returneras av serverdelstjänsten innan ett timeout-fel utlöses. Minimivärdet är 0 sekunder. Värden som är större än 240 sekunder kanske inte respekteras, eftersom den underliggande nätverksinfrastrukturen kan släppa inaktiva anslutningar efter den här tiden. Principuttryck tillåts. Du kan ange antingen timeout eller timeout-ms men inte båda. |
Nej | 300 |
timeout-ms | Hur lång tid i millisekunder som ska vänta tills HTTP-svarshuvudena returneras av serverdelstjänsten innan ett timeoutfel uppstår. Minimivärdet är 0 ms. Principuttryck tillåts. Du kan ange antingen timeout eller timeout-ms men inte båda. |
Nej | Ej tillämpligt |
continue-timeout | Hur lång tid i sekunder 100 Continue som en statuskod ska returneras av serverdelstjänsten innan ett timeout-fel utlöses. Principuttryck tillåts. |
Nej | Ej tillämpligt |
http-version | DEN HTTP-specifikationsversion som ska användas när HTTP-svaret skickas till serverdelstjänsten. När du använder 2or1 kommer gatewayen att gynna HTTP /2 över /1, men återgå till HTTP /1 om HTTP /2 inte fungerar. |
Nej | 1 |
follow-redirects | Anger om omdirigeringar från serverdelstjänsten följs av gatewayen eller returneras till anroparen. Principuttryck tillåts. | Nej | false |
buffer-request-body | När den är inställd true på buffras begäran och återanvänds vid återförsök. |
Nej | false |
buffertsvar | Påverkar bearbetning av segmenterade svar. När värdet false är inställt på returneras varje segment som tas emot från serverdelen omedelbart till anroparen. När värdet true är inställt på buffrade segment (8 KB, såvida inte dataströmmens slut identifieras) och returneras först sedan till anroparen.Ange till med serverdelar, till false exempel de som implementerar serversända händelser (SSE) som kräver att innehåll returneras eller strömmas omedelbart till anroparen. Principuttryck tillåts inte. |
Nej | true |
fail-on-error-status-code | När det är inställt true på utlöser avsnittet med fel för svarskoder i intervallet från 400 till 599 inklusive. Principuttryck tillåts inte. |
Nej | false |
Användning
- Principavsnitt: serverdel
- Principomfattningar: global, arbetsyta, produkt, API, åtgärd
- Gatewayer: klassisk, v2, förbrukning, lokalt installerad, arbetsyta
Exempel
Skicka begäran till HTTP/2-serverdelen
Följande API-nivåprincip vidarebefordrar alla API-begäranden till en HTTP/2-serverdelstjänst.
<!-- api level -->
<policies>
<inbound>
<base/>
</inbound>
<backend>
<forward-request http-version="2or1"/>
</backend>
<outbound>
<base/>
</outbound>
</policies>
Detta krävs för HTTP /2- eller gRPC-arbetsbelastningar och stöds för närvarande endast i en gateway med egen värd. Läs mer i översikten över api-gatewayen.
Vidarebefordra begäran med tidsgränsintervall
Följande API-nivåprincip vidarebefordrar alla API-begäranden till serverdelstjänsten med ett tidsgränsintervall på 60 sekunder.
<!-- api level -->
<policies>
<inbound>
<base/>
</inbound>
<backend>
<forward-request timeout="60"/>
</backend>
<outbound>
<base/>
</outbound>
</policies>
Ärv princip från överordnat omfång
Den här åtgärdsnivåprincipen använder elementet base
för att ärva serverdelsprincipen från det överordnade API-nivåomfånget.
<!-- operation level -->
<policies>
<inbound>
<base/>
</inbound>
<backend>
<base/>
</backend>
<outbound>
<base/>
</outbound>
</policies>
Ärv inte principen från det överordnade omfånget
Den här åtgärdsnivåprincipen vidarebefordrar uttryckligen alla begäranden till serverdelstjänsten med en tidsgräns på 120 och ärver inte den överordnade API-nivåns serverdelsprincip. Om serverdelstjänsten svarar med en felstatuskod från 400 till 599, utlöses avsnittet vid fel .
<!-- 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>
Vidarebefordra inte begäranden till serverdelen
Den här åtgärdsnivåprincipen vidarebefordrar inte begäranden till serverdelstjänsten.
<!-- operation level -->
<policies>
<inbound>
<base/>
</inbound>
<backend>
<!-- no forwarding to backend -->
</backend>
<outbound>
<base/>
</outbound>
</policies>
Relaterade principer
Relaterat innehåll
Mer information om hur du arbetar med principer finns i:
- Självstudie: Transformera och skydda ditt API
- Principreferens för en fullständig lista över principinstruktioner och deras inställningar
- Principuttryck
- Ange eller redigera principer
- Återanvända principkonfigurationer
- Lagringsplats för principfragment
- Skapa principer med Microsoft Copilot i Azure