Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
DOTYCZY: Wszystkie warstwy usługi API Management
Zasady forward-request przekazują przychodzące żądanie do usługi zaplecza określonej w kontekście żądania. Adres URL usługi zaplecza jest określony w ustawieniach interfejsu API i można go zmienić przy użyciu zasad usługi set backend.
Important
- Te zasady są wymagane do przekazywania żądań do zaplecza interfejsu API. Domyślnie usługa API Management konfiguruje te zasady w zakresie globalnym.
- Usunięcie tych zasad powoduje, że żądanie nie jest przekazywane do usługi zaplecza. Zasady w sekcji ruchu wychodzącego są oceniane natychmiast po pomyślnym zakończeniu zasad w sekcji przychodzącej.
Note
Ustaw elementy zasad i elementy podrzędne w kolejności podanej w instrukcji zasad. Dowiedz się więcej na temat ustawiania lub edytowania zasad usługi API Management.
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 | Czas w sekundach oczekiwania na zwrócenie nagłówków odpowiedzi HTTP przez usługę zaplecza przed zwróceniem błędu przekroczenia limitu czasu. Wartość minimalna to 0 sekund. Wartości większe niż 240 sekund mogą nie zostać uznane, ponieważ po tym czasie podstawowa infrastruktura sieciowa może porzucać bezczynne połączenia. Wyrażenia zasad są dozwolone. Można określić albo albo timeouttimeout-ms , ale nie oba te elementy. |
No | 300 |
| timeout-ms | Czas w milisekundach oczekiwania na zwrócenie nagłówków odpowiedzi HTTP przez usługę zaplecza przed zwróceniem błędu przekroczenia limitu czasu. Wartość minimalna to 0 ms. Wyrażenia zasad są dozwolone. Można określić albo albo timeouttimeout-ms , ale nie oba te elementy. |
No | N/A |
| continue-timeout | Czas w sekundach oczekiwania na 100 Continue zwrócenie kodu stanu przez usługę zaplecza przed zwróceniem błędu przekroczenia limitu czasu. Wyrażenia zasad są dozwolone. |
No | N/A |
| http-version | Wersja protokołu HTTP używana podczas wysyłania żądania HTTP do usługi zaplecza: - 1: HTTP/1 - 2: HTTP/2 - 2or1: Brama faworyzuje protokół HTTP/2 za pośrednictwem protokołu HTTP/1, ale wraca do protokołu HTTP/1, jeśli protokół HTTP/2 nie działa.Ruch wychodzący HTTP/2 jest obsługiwany w wybranych bramach. Aby uzyskać szczegółowe informacje, zobacz Informacje o użyciu . |
No | 1 |
| follow-redirects | Określa, czy następuje przekierowania z usługi zaplecza, czy brama jest zwracana do obiektu wywołującego. Wyrażenia zasad są dozwolone. | No | false |
| buffer-request-body | Po ustawieniu truewartości żądanie jest buforowane i będzie ponownie używane podczas ponawiania próby. |
No | false |
| buffer-response | Wpływa na przetwarzanie fragmentowanych odpowiedzi. Po ustawieniu falsewartości na element każdy fragment otrzymany z zaplecza jest natychmiast zwracany do obiektu wywołującego. Po ustawieniu truewartości na element fragmenty są buforowane (8 KB, chyba że zostanie wykryty koniec strumienia), a dopiero potem zostaną zwrócone do obiektu wywołującego.Ustaw wartość na false z zapleczemi, takimi jak te implementujące zdarzenia wysyłane przez serwer (SSE), które wymagają zwrócenia lub natychmiastowego przesyłania strumieniowego zawartości do wywołującego. Wyrażenia zasad nie są dozwolone. |
No | true |
| fail-on-error-status-code | Po ustawieniu wartości truena wartość wyzwala sekcję "błąd " dla kodów odpowiedzi z zakresu od 400 do 599 włącznie. Wyrażenia zasad nie są dozwolone. |
No | false |
Usage
- Sekcje zasad: zaplecze
- Zakresy zasad: globalny, obszar roboczy, produkt, interfejs API, operacja
- Bramy: klasyczne, v2, zużycie, self-hosted, obszar roboczy
Usage notes
Użyj atrybutu
http-version, aby włączyć wychodzący protokół HTTP/2 z bramy do zaplecza. Ustaw atrybut na2or1lub2. Obecnie ruch wychodzący HTTP/2 jest obsługiwany w bramie self-hosted i w wersji zapoznawczej w bramie w wersji 2.Important
W bramie w wersji 2 protokół HTTP/2 jest obsługiwany przez ruch przychodzący do bramy usługi API Management i wychodzący z bramy do zaplecza, ale nie do końca. Obecnie brama w wersji 2 obniża dół przychodzącego połączenia HTTP/2 z protokołem HTTP/1 przed przekazaniem żądania do zaplecza.
Examples
Wysyłanie żądania do zaplecza HTTP/2
Następujące zasady na poziomie interfejsu API przekazują wszystkie żądania interfejsu API do usługi zaplecza HTTP/2. Na przykład użyj tych zasad, aby przekazywać żądania z własnej bramy do zaplecza usługi gRPC.
<!-- api level -->
<policies>
<inbound>
<base/>
</inbound>
<backend>
<forward-request http-version="2or1"/>
</backend>
<outbound>
<base/>
</outbound>
</policies>
Przesyłanie dalej żądania z interwałem przekroczenia limitu czasu
Następujące zasady na poziomie interfejsu API przekazują wszystkie żądania interfejsu API do usługi zaplecza z interwałem limitu czasu wynoszącym 60 sekund.
<!-- api level -->
<policies>
<inbound>
<base/>
</inbound>
<backend>
<forward-request timeout="60"/>
</backend>
<outbound>
<base/>
</outbound>
</policies>
Dziedzicz zasady z zakresu nadrzędnego
Te zasady na poziomie operacji używają base elementu do dziedziczenia zasad zaplecza z nadrzędnego zakresu poziomu interfejsu API.
<!-- operation level -->
<policies>
<inbound>
<base/>
</inbound>
<backend>
<base/>
</backend>
<outbound>
<base/>
</outbound>
</policies>
Nie dziedzicz zasad z zakresu nadrzędnego
Te zasady na poziomie operacji jawnie przekazują wszystkie żądania do usługi zaplecza z limitem czasu 120 i nie dziedziczą zasad zaplecza na poziomie nadrzędnego interfejsu API. Jeśli usługa zaplecza odpowie kodem stanu błędu z zakresu od 400 do 599 włącznie, zostanie wyzwolona sekcja on-error .
<!-- 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>
Nie przesyłaj dalej żądań do zaplecza
Te zasady na poziomie operacji nie przesyłają dalej żądań do usługi zaplecza.
<!-- operation level -->
<policies>
<inbound>
<base/>
</inbound>
<backend>
<!-- no forwarding to backend -->
</backend>
<outbound>
<base/>
</outbound>
</policies>
Related policies
Related content
Aby uzyskać więcej informacji na temat pracy z zasadami, zobacz:
- Samouczek: przekształcanie i ochrona interfejsu API
- Dokumentacja zasad dla pełnej listy instrukcji zasad i ich ustawień
- Policy expressions
- Ustawianie lub edytowanie zasad
- Ponowne używanie konfiguracji zasad
- Repozytorium fragmentów zasad
- Repozytorium placu zabaw zasad
- Zestaw narzędzi zasad usługi Azure API Management
- Zyskaj wsparcie Copilot w tworzeniu, wyjaśnianiu i rozwiązywaniu problemów z zasadami