리버스 프록시 뒤의 Discourse에서 FIDO2를 사용하는 방법?

역방향 프록시 뒤에 있는 Discourse에서 FIDO2를 사용하는 방법을 알아낸 분이 계신가요? 저는 Cloudflare 터널 뒤에 있는 포럼에서 web.socketed.template.yml 템플릿을 사용하는 경우 이 문제를 겪고 있습니다.

Yubikey 2FA도, 새로운 패스키 로그인도 저에게는 작동하지 않습니다.

개발 환경(dev environment)에서 실행 중인가요? 이 부분을 임시로 오버라이드해야 할 수도 있습니다:

서버를 실행할 때 --forward-host 플래그를 사용하는 것도 도움이 될 가능성이 높습니다. 예: bin/ember-cli -u --forward-host.

아니요, 이거 프로덕션 설치예요.

어떤 오류 메시지가 표시되고 있나요?

실패한 요청 /auth.json의 전체 URL은 무엇인가요?

아, 아니요: /session/passkey/auth.json

네, 즉 서버가 브라우저가 요청하는 호스트네임과 일치하지 않는다고 판단하고 있다는 뜻입니다. 보안 키/패스키 생성 절차에서는 브라우저의 호스트네임이 서버의 호스트네임과 일치하는지 확인해야 합니다(키는 호스트네임별로 생성됩니다).

Rails 콘솔에 로그인하여 Discourse.current_hostname의 출력값을 확인해 볼 수 있을까요? 사이트 접근에 사용하는 URL과 일치하지 않는다면, 그것이 문제의 원인이 됩니다.

참고로, 이는 http와 https 문제일 수도 있습니다. 사이트에서 로고가 http:// 아래에 있는 URL을 찾고 있는 것으로 보입니다.

Discourse.current_hostname은 제가 사이트를 접근할 때 사용하는 URL과 일치합니다. 브라우저가 요청하는 호스트네임을 Discourse가 어떻게 인식하는지 확인할 수 있는 방법이 있을까요?

콘솔에서 Discourse.base_url의 값은 무엇인가요?

아, 실제로 http:// URL(정확한 호스트네임)로 설정되어 있네요. Discourse를 Cloudflare Tunnel에서 접근할 수 있도록 하기 위해 여기에 설명된 설정을 사용하고 있습니다:

아, 이제 알 것 같아요. Discourse에서 force https 설정을 활성화하니 문제가 해결되었는데, 왜 꺼져 있었는지는 모르겠어요. 다른 리버스 프록시를 앞에 추가하기 전에는 기본 설정에서 이 설정이 필요하지 않았을 것 같아요. 도움 주셔서 감사합니다!