Исключения для Content Security
Policy
Симптомы
При активации Content Security Policy в BPMSoft могут возникнуть проблемы:
- подключения к сторонним API-серверам;
- загрузки изображений;
- загрузки шрифтов;
- загрузки фреймов;
- загрузки медиаресурсов;
- загрузки данных;
- выполнения inline-скриптов.
Причина
Content Security Policy (CSP) по умолчанию блокирует все внешние ресурсы и соединения, не указанные в разрешающих директивах политики.
Решение
Создать исключение при включении CSP в конфигурационном файле.
Подключение к стороннему API-серверу
Директива connect-src определяет к каким хостам разрешено устанавливать соединения. Для подключения к стороннему API-сервису необходимо добавить доверенный источник для разрешения соединений в директиву connect-src:
connect-src 'self' https://api.example.com;
Здесь разрешены:
- 'self' — запросы к собственному домену;
- https://api.example.com — запросы к указанному API.
Если API использует различные поддомены (например, `api1.example.com`, `api2.example.com`), используйте разрешение для поддоменов:
connect-src 'self' https://*.example.com;
Загрузка изображений
Директива img-src контролирует источники для <img>, фоновых изображений CSS и т. п. Для загрузки изображений необходимо добавить доверенный источник для изображений в директиву img-src:
img-src 'self' https://cdn.example.com;
Загрузка шрифтов
Директива font-src задает разрешенные источники для @font-face. Для загрузки шрифтов необходимо добавить доверенный источник для шрифтов в директиву font-src:
font-src 'self' https://fonts.gstatic.com;
Загрузка frame
Директива frame-ancestors определяет, какие сайты могут встраивать текущую страницу в фрейм. Для загрузки frame необходимо добавить доверенный источник для frame в директиву frame-ancestors:
frame-ancestors 'self' https://trusted.com;
Загрузка медиаресурсов
Директива media-src разрешает источники для <audio>, <video> и т. п. Для загрузки медиа ресурсов необходимо добавить доверенный источник для медиаресурсов в директиву media-src:
media-src 'self' https://media.example.com;
Загрузка data
Директива media-src 'self' data; разрешает использование inline‑данных (base64‑кодированных ресурсов) в медиа‑элементах. Для загрузки inline‑данных необходимо добавить data: в нужный блок (пример с media-src).
media-src 'self' data:;
Загрузка скриптов при переключении на режим с поддержкой флагов CSP
При активации CSP могут возникнуть конфликты из‑за закэшированных скриптов. Пошаговое решение:
- Выполните очистку кэша командой flushall в сервере кэширования.
- Откройте режим разработчика (F12) в браузере;
- Перейдите на вкладку Application → Cookies и удалите все куки для домена BPMSoft.
- Нажмите правой кнопкой по кнопке обновления страницы → выберите «ipty cache and hard reload».