Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
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.
Important
- 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.
Note
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.
Policy statement
<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"/>
Attributes
| Attribute | Description | Required | Default |
|---|---|---|---|
| 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. |
No | 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. |
No | N/A |
| 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. |
No | N/A |
| http-version | DEN HTTP-protokollversion som ska användas när HTTP-begäran skickas till serverdelstjänsten: - 1: HTTP/1 - 2: HTTP/2 - 2or1: Gatewayen föredrar HTTP/2 över HTTP/1, men återgår till HTTP/1 om HTTP/2 inte fungerar.UTgående HTTP/2 stöds i utvalda gatewayer. Mer information finns i Användningsanteckningar . |
No | 1 |
| follow-redirects | Anger om omdirigeringar från serverdelstjänsten följs av gatewayen eller returneras till anroparen. Principuttryck tillåts. | No | false |
| buffer-request-body | När den är inställd truepå buffras begäran och återanvänds vid återförsök. |
No | false |
| buffer-response | 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. |
No | true |
| fail-on-error-status-code | När det är inställt truepå utlöser avsnittet med fel för svarskoder i intervallet från 400 till 599 inklusive. Principuttryck tillåts inte. |
No | false |
Usage
- Principavsnitt: serverdel
- Principomfattningar: global, arbetsyta, produkt, API, åtgärd
- Gatewayer: klassisk, v2, förbrukning, lokalt installerad, arbetsyta
Usage notes
http-versionAnvänd attributet för att aktivera utgående HTTP/2-protokoll från gatewayen till serverdelen. Ange attributet till2or1eller2. För närvarande stöds UTgående HTTP/2 i den lokalt installerade gatewayen och i förhandsversionen av v2-gatewayen.Important
I v2-gatewayen stöds HTTP/2 inkommande till API Management-gatewayen och utgående från gatewayen till serverdelen men inte från slutpunkt till slutpunkt. För närvarande nedgraderar v2-gatewayen en inkommande HTTP/2-anslutning till HTTP/1 innan begäran vidarebefordras till serverdelen.
Examples
Skicka begäran till HTTP/2-serverdelen
Följande API-nivåprincip vidarebefordrar alla API-begäranden till en HTTP/2-serverdelstjänst. Använd till exempel den här principen för att vidarebefordra begäranden från en gateway med egen värd till en gRPC-serverdel.
<!-- api level -->
<policies>
<inbound>
<base/>
</inbound>
<backend>
<forward-request http-version="2or1"/>
</backend>
<outbound>
<base/>
</outbound>
</policies>
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>
Related policies
Related content
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
- Policy expressions
- Ange eller redigera principer
- Återanvända principkonfigurationer
- Lagringsplats för principfragment
- Lagringsplats för principlekplats
- Principverktyg för Azure API Management
- Få Hjälp med Copilot för att skapa, förklara och felsöka principer