Не удалось автоматически зарегистрироваться с Discourse ID

Привет,

Я как новорожденный в мире Discourse и пытаюсь разобраться. Я настроил новую виртуальную машину с Debian 13 и создал собственную DNS-запись через Cloudflare.

Я прошел этап настройки и сначала столкнулся с Let’s Encrypt и колбэком на порт 80. Я перенес процесс получения сертификата на acme.sh и теперь у меня всё работает, включая шаблонную запись для Cloudflare.

Проблема, с которой я столкнулся сейчас, — это неудачная установка после развертывания со следующим сообщением:

enable_discourse_id: Не удалось автоматически зарегистрироваться в Discourse ID. Это может быть связано с проблемами сетевого подключения, ограничениями брандмауэра или недоступностью службы Discourse ID. Пожалуйста, проверьте логи сервера для получения более подробной информации или обратитесь в службу поддержки.

Вы выбрали пропуск настройки почты на данный момент. К сожалению, из-за ошибки, указанной выше, установка не может быть продолжена. Пожалуйста, сообщите об этой проблеме на meta.discourse.org.

Ничего не блокирует исходящие соединения на этой виртуальной машине, так как она была обновлена, а конфигурация успешно загружена из внешнего источника.

Я проверил логи контейнера, но там нет никаких ошибок.

Что интересно, я могу добавить некорректный или корректный URI после базового URL и попасть на страницу входа/регистрации или получить обычную ошибку 404 в зависимости от ситуации. Регистрация и подобные функции работали бы, если бы я настроил SMTP, но я этого не сделал и не хочу сейчас в этом разбираться.

Буду признателен за любую информацию или помощь в том, как проверить и подтвердить настройку Discourse ID, чтобы всё заработало.

Вы заходили на yoursite.com/logs? Именно там должна быть ошибка.

Я не проверял, но я это изучу.

Похоже на ошибку перенаправления HTTPS, но я считаю, что принудительно включаю HTTPS везде, где это необходимо:

Ошибка регистрации Discourse ID на этапе ‘/register’. Ошибка: Запрос к ‘/register’ не удался: 400
Ошибка: {“errors”:[“Вы передали недопустимые параметры в запросе: URI перенаправления должен использовать HTTPS”],“error_type”:“invalid_parameters”}
Отрисован макет layouts/finish_installation.html.erb (Длительность: 16.5 мс | GC: 0.0 мс)
Завершено 200 OK за 654 мс (Представления: 17.9 мс | ActiveRecord: 0.0 мс (0 запросов, 0 кэшировано) | GC: 0.0 мс)
Начат GET “/” для в 2026-05-27 20:44:09 +0000
Обработка FinishInstallationController#index как HTML
Ошибка регистрации Discourse ID на этапе ‘/register’. Ошибка: Запрос к ‘/register’ не удался: 400
Ошибка: {“errors”:[“Вы передали недопустимые параметры в запросе: URI перенаправления должен использовать HTTPS”],“error_type”:“invalid_parameters”}
Отрисован макет layouts/finish_installation.html.erb (Длительность: 35.0 мс | GC: 0.0 мс)
Завершено 200 OK за 507 мс (Представления: 36.2 мс | ActiveRecord: 0.0 мс (0 запросов, 0 кэшировано) | GC: 0.0 мс)

Я читал о настройке принудительного HTTPS в панели администратора после входа в консоль, но это шаг дальше, чем тот, к которому я сейчас могу добраться.

Да, force_https необходимо включить. Вы можете сделать это в меню настроек, доступ к консоли не требуется:

Забудьте, это не сработает, если вы не можете войти на сайт. У вас есть доступ к консоли Rails?

У меня есть root-доступ к виртуальной машине и контейнеру Docker, но я не знаю, как получить доступ к консоли Rails.

Извините, поправка: консоль Rails не нужна (хотя у вас есть к ней доступ через CLI). Вы можете создать свою учетную запись следующим образом:

cd /var/discourse # или туда, где вы разместили репозиторий `discourse_docker`
./launcher enter app
rake admin:create

Постойте, я запутался. У вас есть доступ к сайту как у администратора? Я истолковал

как отсутствие доступа администратора, но вы сказали, что можете читать логи сайта.

Я прочитал логи сайта изнутри приложения/контейнера — именно так я и определил информацию о перенаправлении выше. Мне удалось создать учётную запись через команду rake, после чего я смог войти в консоль как администратор и принудительно включить HTTPS. Настройка в основном не удавалась и не могла продолжиться из-за проблемы с перенаправлением, но я не мог создать учётную запись для принудительного включения HTTPS, так как у меня не был настроен SMTP-сервер.

Похоже, теперь всё работает исправно, хотя на странице входа нет кнопки «Войти через Discourse ID», как я ожидал, но моя учётная запись, созданная через rake, успешно входит в систему.

Мне пришлось включить его в настройках администратора как метод входа. Всё отлично.

Вы можете убедиться, что всё работает, на странице yoursite.com/admin/config/login-and-authentication/discourse-id. Также вы можете протестировать подключение, используя свою учётную запись здесь.

Если это решило вашу проблему, обязательно отметьте ответ как решение, чтобы другие люди могли узнать об этом в будущем!