Перейти к основному содержимому
Версия: 4.10

Настройка CORS

В IQChannels есть публичное API, специально созданное для виджетов и мобильных приложений. Обеспечение его безопасности делается с помощью настроек CORS. CORS позволяет жестко ограничить домены, с которых браузеры могут обращаться к публичному API.

По умолчанию IQChannels разрешает доступ со всех доменов.

Пример заголовков CORS, которые возвращает IQChannels:

Access-Control-Allow-Credentials: true
Access-Control-Allow-Headers: Accept, Accept-Encoding, Accept-Language, Access-Control-Request-Headers, Access-Control-Request-Method, Authorization, Cache-Control, Connection, Content-Type, Cookie, Host, Origin, Pragma, Referer, X-Requested-With, User-Agent
Access-Control-Allow-Methods: GET, HEAD, POST, OPTIONS
Access-Control-Allow-Origin: *

Настройка

Настройка доменов делает в файле конфигурации сервера config.yaml. Для этого требуется перечислить все разрешенные домены в разделе httpd1 в ключе cors_origin. Поддомены поддерживаются автоматически.

httpd1:
# listen: ":3001" # Public API host:port.
# listen_tls: ":4001" # Public TLS API.
# enable_tls: false # Enables TLS API, requires certificate and key.
# certificate: "config/cert.pem" # Path to a certificate in PEM format with CA certs (as in Nginx).
# key: "config/key.pem" # Path to a private key in PEM format (as in Nginx).
cors_origin: "" # Allowed CORS domains, for example: "localhost, mycompany.ru". An empty string means all are allowed.