Это руководство how-to, которое проведёт вас через процесс настройки межсайтовой передачи ресурсов (CORS) в Discourse.
CORS — это механизм, позволяющий запрашивать множество ресурсов (например, шрифты, JavaScript и т. д.) на веб-странице с другого домена, отличного от домена, из которого был получен исходный ресурс.
Вот как настроить CORS на вашем сайте Discourse:
Требования
Перед началом работы переменная окружения DISCOURSE_ENABLE_CORS должна быть установлена в значение true, чтобы включить CORS.
Для получения помощи по этому вопросу см. Как установить переменные окружения.
Если вы используете размещённый сайт Discourse, этот шаг уже выполнен, и вам не нужно предпринимать дополнительных действий для его настройки.
Доступ к настройкам сайта
Перейдите в панель администратора Discourse. Оттуда перейдите на вкладку «Настройки».
Поиск настроек CORS
На вкладке «Настройки» используйте строку поиска и введите cors origin. Вы должны увидеть следующую настройку, связанную с CORS:
Эта настройка позволяет указать домены, которым разрешено отправлять межсайтовые запросы к вашему экземпляру Discourse.
Здесь следует вводить точные домены, разделяя их пробелом. Избегайте использования символа подстановки (*), так как это может создать риски безопасности.
При добавлении нескольких доменов каждый URL должен быть разделён. Например:
Сохранение изменений
После внесения необходимых изменений не забудьте нажать кнопку Сохранить изменения в нижней части страницы.
Важные замечания
Неправильная реализация CORS (межсайтовой передачи ресурсов) может создать потенциальные риски безопасности. Вот несколько вещей, о которых следует помнить при включении CORS на вашем сайте:
- Указывайте точные домены: Использование символов подстановки (*) в конфигурации CORS может позволить любому домену взаимодействовать с вашим сервером, что представляет значительный риск безопасности. Рекомендуется указывать точные домены.
- Минимизируйте передаваемые данные: CORS следует настраивать так, чтобы раскрывать только необходимые данные из внешних доменов, которым вы доверяете. Не рекомендуется разрешать сайтам, которыми вы не управляете, доступ через CORS.
- Используйте HTTPS: По возможности избегайте включения не-HTTPS сайтов в вашу конфигурацию CORS, так как это может привести к передаче данных в незашифрованном виде.

