Заголовок 'Access-Control-Allow-Origin' отсутствует, несмотря на установку DISCOURSE_ENABLE_CORS: true

Я добавил следующие строки в наш app.yml

  DISCOURSE_ENABLE_CORS: true
  DISCOURSE_CORS_ORIGIN: '*'

Временно установил ‘*’, чтобы исключить лишние переменные во время тестирования. Также пробовал явно указывать URL-адреса, но безрезультатно.

Однако, несмотря на это, мы всё ещё получаем:

Блок-цитата

Заголовок ‘Access-Control-Allow-Origin’ отсутствует в запрошенном ресурсе.

Контекст: У нас есть iOS-клиент на базе Unity, который взаимодействует с некоторыми API Discourse, а для тестирования мы используем WebGL. Мы сталкиваемся с этой проблемой при тестировании в браузерах, работающих с WebGL.

Также я заметил в тестах Postman, что во всех запросах в заголовках ответа указан Referrer-Policy со значением ‘strict-origin-when-cross-origin’.

Любая помощь будет оценена. Спасибо!

Настройка cors origins управляется в разделе admin > settings > security

В вашем файле app.yml достаточно указать только DISCOURSE_ENABLE_CORS:

Я также попробовал и протестировал это

И для настройки одного сайта установка origin в .yml или в админ-интерфейсе должна иметь одинаковый эффект, согласно: What is the purpose of Settings -> Security -> CORS origins vs similar environment setting?

Я не уверен, что здесь поддерживается подстановка (wildcard). Можете ли вы попробовать с реальным доменом? Мы используем настройки CORS на нескольких сайтах с настроенными доменами, и всё работает нормально.

У меня это тоже настроено на одном из сайтов, и всё работает.

Я пробовал с доменом, но безрезультатно. Есть способ проверить, что переменные окружения заданы правильно? (Или что перезапуск приложения настроил CORS без повторной отправки запросов — просто пытаюсь найти способы отладки).

Думаю, это та часть кода, которая обрабатывает настройки CORS, на всякий случай, если это будет полезно.

В логах доступа nginx я заметил, что вызов OPTIONS возвращает 404 (и предшествует ошибке в вызове GET)