Discourse ID로 자동 등록 실패

안녕하세요,

디스코र्स(Discourse) 세계에서는 갓 태어난 아기처럼 새내기입니다. 한번 해보려고 시도 중입니다. brand new Debian 13 VM을 설정하고 Cloudflare를 통해 커스텀 DNS 엔트리를 구성했습니다.

설치를 진행하다가 먼저 Let’s Encrypt와 포트 80 콜백 문제에서 막혔습니다. 인증서 발급 프로세스를 acme.sh로 전환하고, Cloudflare 템플릿 엔트리까지 모두 해결했습니다.

그런데 이제 배포 후 설정 실패가 발생하며 다음과 같은 메시지가 표시됩니다:

enable_discourse_id: Discourse ID에 자동으로 등록하지 못했습니다. 이는 네트워크 연결 문제, 방화벽 제한, 또는 Discourse ID 서비스에 접근할 수 없기 때문일 수 있습니다. 자세한 내용은 서버 로그를 확인하거나 지원팀에 문의해 주세요.

이메일 설정을 건너뛰기로 선택하셨습니다. 그러나 위의 오류 메시지 때문에 설계를 계속 진행할 수 없습니다. 이 문제를 meta.discourse.org에 보고해 주세요.

이 VM에는 외부 통신을 차단하는 요소가 없으며, 업데이트와 외부 설정 가져오기는 문제없이 진행되었습니다.

컨테이너 로그를 확인했지만 어떤 종류의 오류도 발견되지 않았습니다.

흥미롭게도, 기본 URL 뒤에 유효하지 않거나 유효한 URI를 추가하면 로그인/가입 페이지나 일반적인 404 페이지로 접근할 수 있습니다. SMTP가 구성되어 있다면 가입 등이 가능할 텐데, 그렇지 않고 그걸 건드리고 싶지도 않습니다.

Discourse ID 설정을 검증/확인하여 이 서비스를 정상적으로 작동시키기 위해 다음 단계로 무엇을 해야 할지 조언이나 도움이 필요할 것 같습니다.

yoursite.com/logs를 확인해 보셨나요? 오류가 그곳에 있을 것입니다.

아니, 확인해볼게.

HTTPS 리다이렉트 오류인 것 같습니다. 하지만 필요한 모든 곳에서 HTTPS를 강제 적용하고 있다고 생각합니다:

Discourse ID register failed at step ‘/register’. Error: Request to ‘/register’ failed: 400
Error: {“errors”:[“You supplied invalid parameters to the request: Redirect URI must use HTTPS”],“error_type”:“invalid_parameters”}
Rendered layout layouts/finish_installation.html.erb (Duration: 16.5ms | GC: 0.0ms)
Completed 200 OK in 654ms (Views: 17.9ms | ActiveRecord: 0.0ms (0 queries, 0 cached) | GC: 0.0ms)
Started GET “/” for at 2026-05-27 20:44:09 +0000
Processing by FinishInstallationController#index as HTML
Discourse ID register failed at step ‘/register’. Error: Request to ‘/register’ failed: 400
Error: {“errors”:[“You supplied invalid parameters to the request: Redirect URI must use HTTPS”],“error_type”:“invalid_parameters”}
Rendered layout layouts/finish_installation.html.erb (Duration: 35.0ms | GC: 0.0ms)
Completed 200 OK in 507ms (Views: 36.2ms | ActiveRecord: 0.0ms (0 queries, 0 cached) | GC: 0.0ms)

콘솔에 접근한 후 관리자 패널에서 HTTPS 강제 설정에 대해 읽은 적은 있지만, 현재 제가 도달할 수 있는 단계보다 한 단계 더 나아간 설정입니다.

네, force_https를 활성화해야 합니다. 콘솔 접근 없이 설정 메뉴에서 활성화할 수 있습니다:

아니, 사이트 로그인 권한이 없으면 작동하지 않겠네요. Rails 콘솔에 접근할 수 있나요?

VM과 Docker 컨테이너에 루트 접근 권한이 있지만, Rails 콘솔에 액세스하는 방법을 모릅니다.

죄송합니다, 수정 사항입니다. rails 콘솔은 필요하지 않습니다 (CLI 접근 권한이 있으므로 콘솔에 접근할 수는 있지만요). 계정은 이렇게 만들면 됩니다:

cd /var/discourse # 또는 `discourse_docker` 저장소를 배치한 위치
./launcher enter app
rake admin:create

잠깐, 내가 좀 혼란스럽네. 사이트 관리자 권한이 있는 거야? 나는

을 관리자 권한이 없다고 해석했는데, 넌 사이트 로그를 읽을 수 있다고 했잖아.

앱/컨테이너의 사이트 로그를 확인하여 위의 리다이렉트 정보를 파악했습니다. rake 명령어로 계정을 생성한 후, 관리자 권한으로 콘솔에 접속하여 HTTPS를 강제 적용할 수 있었습니다. 기본적으로 설정이 리다이렉트 문제로 인해 계속 진행되지 못해 실패하고 있었지만, SMTP 서버를 설정하지 않아 HTTPS를 강제하기 위한 계정을 만들 수 없었습니다.

지금은 모두 정상으로 보입니다. 다만, 로그인 페이지에 예상했던 ‘Discourse ID로 로그인’ 옵션이 없지만, rake로 생성한 계정으로 로그인하는 데는 문제가 없습니다.

관리자 설정에서 로그인 방법으로 활성화해야 했습니다. 지금은 모든 것이 정상입니다.

yoursite.com/admin/config/login-and-authentication/discourse-id에서 정상 작동하는지 확인할 수 있습니다. 또한 여기에서 자신의 계정을 연결하여 테스트할 수도 있습니다.

이로써 문제가 해결되었다면, 다른 사람들이 참고할 수 있도록 '해결’로 표시해 주세요!