우리는 현재 실행 중인 Discourse 인스턴스에서 기존 계정이 없는 사용자의 로그인(회원가입)이 중단된 문제를 겪고 있으며, 원인을 파악하지 못해 난감한 상황입니다! 이 문제는 약 2주 전 Discourse AI 플러그인을 설치하고 인스턴스를 재시작한 후 시작되었습니다. 지난 며칠 동안 고객 불만이 접수되어서야 이 문제를 인지하게 되었습니다. 평소에는 매일 충분한 수의 신규 가입이 이루어지고 있습니다.
환경 설정
- 공식 도커를 통한 자체 호스팅 Discourse
- https://community.enginedj.com
- 자체 OIDC 제공자를 사용하는 OIDC 플러그인 (
1) - OIDC를 제외한 다른 인증 방식 없음 (즉, 이메일 + 비밀번호 등록 불가) (
2) - 마지막 성공적인 신규 가입: 2023년 11월 22일 오전 5:23 (NZDT)
- AI 플러그인 설치 시점: 2023년 11월 22일 오전 6:03경 (NZDT) (이로 인해 Discourse 인스턴스가 재부팅되었을 것입니다)
- 10월 이후 시스템 설정 변경에 대한 이벤트 로그가 없으며, 3월 이후 인증과 관련된 관련 로그도 없습니다 (
3) - 포럼 활동은 활발하며, 디스크 공간/DB 등의 문제는 없습니다.
문제 증상
- 로그인 플로우 자체는 정상적으로 작동하지만, 기존 계정이 없는 사용자가 돌아와도 로그인되지 않습니다.
- 오류 메시지가 표시되지 않습니다.
- 로그에 오류 메시지가 없습니다. (로그에 일부 CSRF 오류가 있지만, 이는 로그인 실패와 상관관계가 없습니다)
- OIDC 플러그인의 상세 로그를 확인한 결과, OIDC 제공자로부터 데이터를 올바르게 조회하고 클레임 등을 가져오며 문제가 없는 것으로 나타납니다 (
4)
시도해 본 조치
- Discourse AI 플러그인 비활성화
- Discourse AI 플러그인 제거
- 쿠키 응답의 도메인 불일치 여부 확인
- 모든 플러그인/컴포넌트를 최신 버전으로 업데이트 (
5) - 설정이 조정되지 않았는지 확인
- 호스트 로그 조사. 특이사항 없음.
문제 상황을 보여주는 영상입니다. 첫 번째 로그인은 기존 Discourse 계정이 없는 사용자의 것이고, 두 번째는 제 관리자 계정입니다.
https://www.loom.com/share/3aad210d844849dc8154ce6e5db50d29
다음으로 무엇을 확인해야 할지 아이디어가 있을까요?
1
2
3
4
5






