Механизм настраиваемых заголовков ответов HTTP используется для отправки заголовков политики безопасности контента (CSP). Для предотвращения подключения внешних ресурсов, которые нарушают заданные в системе политики безопасности, формируется HTTP заголовок специального вида, который отправляется в ответе сервера на любой запрос.
Настроить заголовки ответов HTTP
-
Откройте дизайнер системы по кнопке в правом верхнем углу приложения.
-
В группе Настройка системы кликните по ссылке Справочники.
-
Откройте справочник Заголовки ответов HTTP.
-
Создайте новый HTTP заголовок. Для этого нажмите кнопку Добавить и заполните обязательные поля: Название заголовка, Значение заголовка.
Если в конфигурационном файле приложения и в справочнике заголовков ответов HTTP есть заголовки с одинаковыми именами, то приоритет будут иметь заголовки из конфигурационного файла.
Заголовки, которые добавлены в справочник не могут быть изменены или удалены. При попытке изменить такой заголовок вы получите соответствующее уведомление.
По умолчанию заголовок применяется для всех запросов и для всех методов запроса (“*”). При необходимости дополнительно можно переопределить следующие необязательные поля:
- URL конечной точки — относительный путь URL;
- Метод запроса — значение метода запроса, допустимые значения: GET, OPTIONS, POST, PUT, DELETE или PATCH;
Результат настройки и включения пользовательских заголовков HTTP можно увидеть в ответе HTTP.
В случае наличия в справочнике заголовков с одинаковыми именами нужно учитывать приоритет выбора заголовков:
URL конечной точки | Метод запроса | Приоритет |
---|---|---|
/api/HealthCheck/Ping | GET | 1 |
/api/HealthCheck/Ping | * | 2 |
* | POST | 3 |
* | * | 4 |
Если в базе заданы заголовки с одинаковыми именами, то при запросе с определенной конечной точки (endpoint) и с определенным методом запроса приоритеты заголовков будут определяться следующим образом:
- Первым ищется заголовок, у которого указана именно эта конечная точка и метод запроса.
- Затем заголовок, у которого указана та же конечная точка, с которой пришел запрос, и метода запроса равный “*”.
- Затем применяется заголовок, у которого конечная точка равна “*” а метод совпадает с методом запроса.
- Затем применяется заголовок с конечной точкой равной “*” и с методом запроса равным “*”.
Для включения и отключения заголовков в ответе HTTP используется флаг UseHttpHeaderProvider в конфигурационном файле web.config корневого каталога приложения.
Перенести заголовки из конфигурационного файла приложения в справочник
Для переноса пользовательских заголовков HTTP из конфигурационного файла web.config корневого каталога приложения в справочник необходимо:
-
В конфигурационном файле найдите секцию <customHeaders>. В ней указаны заголовки в формате:
где:
- name — название заголовка;
- value — значение заголовка.
-
Все заголовки из данной секции перенесите в справочник Заголовки ответов HTTP, указывая в качестве Название заголовка значение из атрибута name, а в качестве Значение заголовка значение атрибута value. Значения полей URL конечной точки и Метод запроса необходимо оставить со значениями по умолчанию — “*”.
Например, в конфигурационном файле указан заголовок:
В справочник его необходимо перенести следующим образом: