Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
ОБЛАСТЬ ПРИМЕНЕНИЯ: все уровни Управление API
Политика set-header назначает значение существующему заголовку HTTP-ответа или запроса или добавляет новый ответ и /или заголовок запроса.
Используйте политику для вставки списка заголовков HTTP в HTTP-сообщение. Если эта политика находится во входящем конвейере, она устанавливает HTTP-заголовки для запроса, передаваемого в целевую службу. Если эта политика находится в исходящем конвейере, она устанавливает HTTP-заголовки для ответа, отправляемого клиенту шлюза.
Примечание.
Задайте элементы политики и дочерние элементы в порядке, указанном в правиле политики. Чтобы помочь вам настроить эту политику, портал предоставляет интерактивный редактор на основе форм. Узнайте, как устанавливать или изменять политики службы управления API.
Правило политики
<set-header name="header name" exists-action="override | skip | append | delete">
<value>value</value> <!--for multiple headers with the same name add additional value elements-->
</set-header>
Атрибуты
| Имя. | Описание | Обязательное поле | По умолчанию. |
|---|---|---|---|
| существует-action | Указывает действие, которое необходимо предпринять, когда заголовок уже указан. Атрибут должен иметь одно из следующих значений: - override — заменяет значение существующего заголовка.- skip — не заменяет существующее значение заголовка.- append — добавляет значение к существующему значению заголовка.- delete — удаляет заголовок из запроса.Если задано значение override, при перечислении нескольких записей с одинаковым именем заголовок устанавливается в соответствии со всеми записями (которые будут перечислены несколько раз). В результате будут заданы только перечисленные значения. Допустимы выражения политики. |
нет | override |
| имя | Указывает имя заголовка, которое должно быть установлено. Допустимы выражения политики. | Да | Н/П |
Элементы
| Имя. | Описание | Обязательное поле |
|---|---|---|
| значение | Определяет значение заголовка, который будет установлен. Допустимы выражения политики. Для нескольких заголовков с одинаковым именем добавьте дополнительные value элементы. |
нет |
Использование
- Разделы политики: inbound, outbound, backend, on-error.
- Области политики: глобальная, рабочая область, продукт, API, операция
- Шлюзы: классическая, версия 2, потребление, локальное размещение, рабочая область
Примечания об использовании
Несколько значений заголовка сцепляются в строку CSV, как показано на примере ниже.
headerName: value1,value2,value3
Исключения включают в себя стандартизированные заголовки, значения которых:
- может содержать запятые (
User-Agent,WWW-Authenticate,Proxy-Authenticate) - могут содержать дату (
Cookie,Set-Cookie,Warning); - содержат дату (
Date,Expires,If-Modified-Since,If-Unmodified-Since,Last-Modified,Retry-After).
В случае этих исключений несколько значений заголовков не будут объединены в одну строку и будут переданы в виде отдельных заголовков, например:
User-Agent: value1
User-Agent: value2
User-Agent: value3
Ограничения
- Следующие заголовки не могут быть добавлены, переопределены или удалены:
Connection, ,Content-LengthKeep-AliveTransfer-Encoding - Значение IP-адреса клиента в заголовке
X-Forwarded-Forне может быть удалено. - Не
Serverудается удалить заголовок в ответах
Примеры
Добавление заголовка, переопределение существующего
<set-header name="some header name" exists-action="override">
<value>20</value>
</set-header>
Удалить заголовок
<set-header name="some header name" exists-action="delete" />
Пересылка контекстных сведений во внутреннюю службу
В этом примере показано, как применить политику на уровне API для предоставления контекстных сведений внутренней службе.
<!-- Copy this snippet into the inbound element to forward some context information, user id and the region the gateway is hosted in, to the backend service for logging or evaluation -->
<set-header name="x-request-context-data" exists-action="override">
<value>@(context.User.Id)</value>
<value>@(context.Deployment.Region)</value>
</set-header>
Чтобы узнать больше, см. статью API Management policy expressions (Выражения политики управления API) и раздел Context variable (Переменная контекста).
Связанные политики
Связанный контент
Дополнительные сведения о работе с политиками см. в нижеуказанных статьях.
- Руководство. Преобразование и защита API
- Полный перечень операторов политик и их параметров см. в справочнике по политикам.
- Выражения политики
- Настройка или изменение политик
- Повторное использование конфигураций политик
- Репозиторий фрагментов политик
- репозиторий Policy
- Набор средств политики Управление API Azure
- Получите помощь Copilot для создания, объяснения и устранения неполадок в политике