Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
ОБЛАСТЬ ПРИМЕНЕНИЯ: все уровни Управление API
Политика forward-request перенаправляет входящий запрос во внутреннюю службу, указанную в контексте запроса. URL-адрес внутренней службы, заданный в параметрах API, может быть изменен с помощью политики задания внутренней службы.
Important
- Эта политика необходима для пересылки запросов в серверную часть API. По умолчанию Управление API настраивает эту политику в глобальной области.
- Удаление этой политики приводит к тому, что запрос не перенаправляется в серверную службу. Политики в исходящем разделе оцениваются сразу после успешного выполнения политики во входящем разделе.
Note
Задайте элементы политики и дочерние элементы в порядке, указанном в правиле политики. Узнайте, как устанавливать или изменять политики службы управления API.
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 | Время в секундах, в течение которого нужно ждать, пока внутренняя служба вернет заголовки ответа HTTP, прежде чем возникнет ошибка времени ожидания. Минимальное значение составляет 0 секунд. Значения, превышающие 240 секунд, могут не учитываться, так как базовая сетевая инфраструктура может удалять неактивные подключения после этого времени. Допустимы выражения политики. Можно указать любой из timeout этих вариантов или timeout-ms не оба. |
No | 300 |
| timeout-ms | Время в миллисекундах для ожидания возврата заголовков HTTP-ответа серверной службой до возникновения ошибки времени ожидания. Минимальное значение — 0 мс. Допустимы выражения политики. Можно указать любой из timeout этих вариантов или timeout-ms не оба. |
No | N/A |
| continue-timeout | Время в секундах для ожидания 100 Continue возврата кода состояния серверной службой до возникновения ошибки времени ожидания. Допустимы выражения политики. |
No | N/A |
| http-version | Версия протокола HTTP, используемая при отправке HTTP-запроса в серверную службу: - 1: HTTP/1 - 2: HTTP/2 - 2or1: шлюз предпочитает HTTP/2 по протоколу HTTP/1, но возвращается к протоколу HTTP/1, если HTTP/2 не работает.Исходящий трафик HTTP/2 поддерживается в выборах шлюзов. Дополнительные сведения см. в заметках об использовании . |
No | 1 |
| follow-redirects | Указывает, что происходит с перенаправлениями от внутренней службы: шлюз выполняет их или они возвращаются вызывающему объекту. Допустимы выражения политики. | No | false |
| buffer-request-body | Если задано значение true, запрос буферизуется и будет повторно использоваться при повторных попытках. |
No | false |
| buffer-response | Влияет на обработку фрагментированных откликов. Если задано значение false, каждый блок, полученный от серверной части, немедленно возвращается вызывающей стороне. Если задано значение true, блоки буферизовываются (8 КБ, если не обнаружен конец потока), а затем возвращаются вызывающему объекту.Установите значение false с внутренними серверными службами, например с реализацией событий, отправленных сервером (SSE), которые требуют возврата или передачи содержимого немедленно вызывающей стороне. Выражения политики не допускаются. |
No | true |
| fail-on-error-status-code | Если задано значение true, триггеры в разделе об ошибке для кодов ответов в диапазоне от 400 до 599 включительно. Выражения политики не допускаются. |
No | false |
Usage
- Разделы политики: backend.
- Области политики: глобальная, рабочая область, продукт, API, операция
- Шлюзы: классическая, версия 2, потребление, локальное размещение, рабочая область
Usage notes
http-versionИспользуйте атрибут, чтобы включить исходящий трафик протокола HTTP/2 из шлюза в серверную часть. Задайте для2or1атрибута или2. В настоящее время исходящий трафик HTTP/2 поддерживается в локальном шлюзе и в предварительной версии шлюза версии 2.Important
В шлюзе версии 2 http/2 поддерживается входящий трафик в шлюз управления API и исходящий трафик из шлюза в серверную часть, но не сквозной. В настоящее время шлюз версии 2 перенаправляет входящие подключения HTTP/2 к HTTP/1, прежде чем перенаправлять запрос на серверную часть.
Examples
Отправка запроса на серверную часть HTTP/2
Следующая политика уровня API перенаправляет все запросы API в серверную службу HTTP/2. Например, используйте эту политику для пересылки запросов из локального шлюза в серверную часть gRPC.
<!-- api level -->
<policies>
<inbound>
<base/>
</inbound>
<backend>
<forward-request http-version="2or1"/>
</backend>
<outbound>
<base/>
</outbound>
</policies>
Переадресация запроса с интервалом времени ожидания
Следующая политика уровня API перенаправляет все запросы API к внутренней службе с интервалом времени ожидания 60 секунд.
<!-- api level -->
<policies>
<inbound>
<base/>
</inbound>
<backend>
<forward-request timeout="60"/>
</backend>
<outbound>
<base/>
</outbound>
</policies>
Наследование политики от родительской области
Эта политика уровня операций использует элемент base, чтобы наследовать внутреннюю политику от родительской области уровня API.
<!-- operation level -->
<policies>
<inbound>
<base/>
</inbound>
<backend>
<base/>
</backend>
<outbound>
<base/>
</outbound>
</policies>
Не наследуйте политику от родительской области
Эта политика уровня операций явно перенаправляет все запросы в серверную службу с временем ожидания 120 и не наследует политику серверной части родительского уровня API. Если внутренняя служба реагирует на код состояния ошибки от 400 до 599 включительно, то будет запущен раздел 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>
Не перенаправлять запросы на серверную часть
Эта политика уровня операций не перенаправляет запросы в серверную службу.
<!-- operation level -->
<policies>
<inbound>
<base/>
</inbound>
<backend>
<!-- no forwarding to backend -->
</backend>
<outbound>
<base/>
</outbound>
</policies>
Related policies
Related content
Дополнительные сведения о работе с политиками см. в нижеуказанных статьях.
- Руководство. Преобразование и защита API
- Полный перечень операторов политик и их параметров см. в справочнике по политикам.
- Policy expressions
- Настройка или изменение политик
- Повторное использование конфигураций политик
- Репозиторий фрагментов политик
- Репозиторий игровой площадки политики
- Набор средств политики Управление API Azure
- Получите помощь Copilot для создания, объяснения и устранения неполадок в политике