Я установил Discourse, и в целом всё работает нормально. Однако при попытке добавить свой Yubikey в качестве ключа безопасности я постоянно получаю эту ошибку:
Источник запроса на аутентификацию не совпадает с источником сервера.
Я не могу найти никакой конкретной опции конфигурации, которая бы это исправила. Я пробовал настраивать CORS, но это не дало никаких результатов. Как мне заставить это работать?
Имя хоста совпадает. Единственная проблема в том, что экземпляр находится за прокси-сервером Nginx, поэтому вполне вероятно, что причина именно здесь. Однако конфигурация прокси по сути представляет собой SSL-терминацию, то есть схема выглядит так:
Таким образом, соединение между браузером и Nginx осуществляется по HTTPS, а между прокси и Discourse — через порт 80.
Я только что включил CORS на своей тестовой машине, которую настроил, так как у меня возникла та же проблема. Однако зарегистрировать Yubikey удалось только после настройки полного HTTPS с CORS. Также было включено принудительное использование SSL.
Я указал в конфигурации CORS для экземпляра за прокси и http, и https, но это не дало никаких результатов. Поэтому, по-видимому, проблема в конфигурации прокси Nginx, либо мне нужно изменить настройку с проксирования между портом 443 и портом 80 на проксирование на порт 443 самого экземпляра Discourse.
У нас тоже есть такой отчёт. Мы также используем nginx-прокси с терминацией TLS перед Discourse. Сообщение об ошибке не помогает понять, что нужно изменить в конфигурации сервера.