캐시 설정 충돌로 인한 Cloudflare 로그인 및 로그아웃 오류

커뮤니티 회원 여러분께,

starorigin.net의 Discourse 포럼에 영향을 미치는 중대한 문제에 대한 도움을 요청드립니다. 사용자들은 심각한 로그인/로그아웃 버그를 경험하고 있으며, 이로 인해 커뮤니티 활동이 마비 상태입니다. 로그아웃을 시도하면 페이지가 새로고침되지만 완전히 로그아웃되지 않으며, "로그아웃되었습니다"라는 메시지와 함께 문제를 해결하지 못하는 새로고침 버튼이 표시됩니다. 또한 새 브라우저나 시크릿 모드에서 로그인하거나 로그아웃하는 것도 문제가 있습니다.

우리는 브라우저 캐시 삭제, 다른 브라우저 및 기기 사용, 업데이트 확인 등 여러 문제 해결 단계를 시도했습니다. 최근에 설치된 플러그인과 테마가 문제를 일으키고 있다고 의심하고 있지만, 이를 제거하고 컨테이너를 재빌드해도 문제가 지속되고 있습니다.

여러분의 전문 지식과 도움을 진심으로 감사드립니다. 통찰력이나 해결책이 있으시면 회신해 주십시오.

도와주셔서 감사합니다.

이 문제는 해결되었습니다.

모두의 지원과 조언에 감사드립니다. 특히 @denvergeeks 님은 제 웹사이트에 가입하고 로그인하여 오류를 정확히 파악하고 문제를 해결하는 데 열정적으로 도움을 주셨습니다. 이 문제의 절반은 제 실수와 부주의 때문이었습니다. Cloudflare의 캐시 설정과 서버 관리 패널인 1Panel의 캐시 설정 사이에 충돌이 있었기 때문입니다. 1Panel 서버 관리 패널에서 캐시 스위치를 끄자 제 웹사이트가 정상적으로 돌아왔습니다. 도움을 주신 모든 분들께 깊이 감사드립니다!

궁금한 건데, 안전 모드에서도 그런가요?

안전 모드에서도 이 버그가 여전히 심각하게 존재합니다. 또한, 관리자 계정으로 로그아웃하면 자동으로 일반 사용자 계정으로 리디렉션되고, "로그아웃되었습니다."라는 메시지가 포함된 창이 나타납니다. 게다가 며칠 전에 새 서버로 마이그레이션을 했는데, 이것이 관련이 있는지 확실하지 않습니다.

사이트에 가입한 뒤 로그아웃하면, 다음과 같은 스크린샷이 나타납니다.

로그아웃 후 페이지를 새로고침해도 동일한 메시지가 계속 표시되며, 헤더에서는 여전히 내 아바타가 보입니다.



몇 분 뒤(로그아웃 후) 다시 페이지를 새로고침했는데, 이번에는 로그아웃된 것으로 보입니다.

그런데 다시 로그인해 봤는데, 로그인 후에도 여전히 로그인 버튼이 보입니다…

몇 분 뒤 다시 페이지를 새로고침했지만, 여전히 로그인되지 않은 상태입니다.

데스크톱 모드로 전환했습니다(모든 작업은 iPhone 13 Pro의 Chrome에서 수행 중이며) 그리고 스크린샷은 다음과 같습니다…

이제 몇 분 뒤 다시 로그인해 봤지만, 로그인이 되지 않으며 여전히 마지막 스크린샷과 동일한 화면이 표시됩니다.

제가 현재 겪고 있는 문제가 정확히 이것입니다! 방금 제 계정에 로그인하려고 했을 때, 심지어 실수로 여러분의 계정 인터페이스로 리다이렉트되었습니다. 이런 일이 발생하는 원인을 전혀 알 수 없습니다. 커뮤니티 데이터를 백업한 후, 컨테이너를 삭제하고 이미지를 다시 가져와 컨테이너를 재구축한 뒤 백업을 복원해 보겠습니다. 이렇게 하면 문제가 해결될지 확인해 보려고 합니다.

좀 무서운 일이네요!

브라우저 개발자 도구 콘솔에서 무엇을 보고 계신가요?

이것이 공식 설치 문서인 https://github.com/discourse/discourse/blob/main/docs/INSTALL.md를 사용하여 설정된 지원되는 설치 환경인가요?

계정에 로그인하려고 했을 때 브라우저의 개발자 모드에서 오류가 보고되었습니다:

Mixed Content: 'https://starorigin.net/t/topic/50’의 페이지는 HTTPS로 로드되었지만, 비보안 폰트 'http://starorigin.net/fonts/Lora-Bold.ttf?v=0.0.12’를 요청했습니다. 이 요청은 차단되었습니다. 콘텐츠는 HTTPS로 서빙되어야 합니다.
chunk.ea1861026282343f4c7d.d41d8cd9.js:1

계정에서 로그아웃을 시도했을 때에도 오류가 보고되었습니다:

Mixed Content: 'https://starorigin.net/'의 페이지는 HTTPS로 로드되었지만, 비보안 이미지 'http://starorigin.net/uploads/default/original/1X/c9eda24b3c8cae88b2287cd3d700e7a3c1eaa87d.svg’를 요청했습니다. 이 요청은 차단되었습니다. 콘텐츠는 HTTPS로 서빙되어야 합니다.
starorigin.net/:1 Mixed Content: 'https://starorigin.net/'의 페이지는 HTTPS로 로드되었지만, 비보안 요소 'http://starorigin.net/uploads/default/optimized/1X/e5b35745d255cb00fd1111ac078d95a13229adc6_2_512x512.png’를 요청했습니다. 이 요청은 자동으로 HTTPS로 업그레이드되었습니다. 자세한 내용은 https://blog.chromium.org/2019/10/no-more-mixed-messages-about-https.html을 참조하세요.

Chrome 브라우저가 제안을 제공했지만, 그 의미가 정확히 무엇인지 잘 모르겠습니다:

Mixed content: 사이트의 보안을 강화하려면 모든 리소스를 HTTPS를 통해 로드하세요.
초기 HTML 페이지는 안전한 HTTPS 연결을 통해 로드되었지만, 이미지, 스타일시트, 스크립트와 같은 일부 리소스는 비보안 HTTP 연결을 통해 액세스되고 있습니다. 사이트 전체의 보안을 강화하기 위해 비보안 리소스의 사용이 제한됩니다.

이 문제를 해결하려면 모든 리소스를 안전한 HTTPS 연결을 통해 로드하세요.

지금 내 Windows 11 데스크톱(크롬 브라우저에서도)에서는…

다시 사이트에 로그인했는데, 처음에는 이 화면이 보입니다(로그인 상태이지만, 다른 사람의 계정)…

그다음 몇 번 더 새로고침을 하면 이 화면이 보입니다(다시, 로그인 상태이지만 다른 사람의 계정)…

혼합 콘텐츠 오류에 관한 주제가 많이 있습니다.

다음은 하나의 해결 방법입니다:

하지만 표준 설치 환경에서는 HTTPS가 기본값이므로, 일부 콘텐츠가 HTTPS로 로드되지 않는 데에는 이유가 있을 것입니다.

며칠 전 새 서버로 이동을 완료했습니다. 진행 과정은 다음과 같습니다: 공식 문서의 단계에 따라 이미지를 가져오고, 컨테이너를 생성한 뒤 컨테이너 내부로 진입했습니다. 그 다음 app.yml 파일을 생성하고, 기존 서버의 app.yml 파일 내용을 새 서버로 복사했습니다. 이후 커뮤니티 백업 데이터를 새 서버의 기본 백업 디렉터리에 업로드했습니다. 마지막으로 컨테이너를 재구성했습니다. 이 단계를 따름으로써 새 서버로의 이동을 성공적으로 마쳤습니다. 그러나 하루 뒤 새 플러그인을 설치하려고 시도했을 때 이 버그가 발생했습니다. 새로 설치한 플러그인을 모두 제거했지만 버그는 여전히 존재하며, 해결 방법을 찾지 못하고 있습니다.

몇 분 더 기다린 후, 사이트가 자동으로 새로고침되었고 콘솔에 이 내용이 표시됩니다…

다시 한 번 페이지를 새로고침하면 이 내용이 보입니다(이전 오류는 이제 사라졌습니다)…

방금 몇 분 전에, 위 게시글의 친구의 조언을 따라 HTTPS를 강제로 활성화했습니다.

콘솔에서 오류가 보고되었습니다:

[PLUGIN discourse-tooltips]
“비추천 알림: reopen을(를) 사용하여 topic-list를 수정하는 것은 더 이상 권장되지 않습니다. 대신 값 변환기 topic-list-columns와 기타 새로운 topic-list 플러그인 API를 사용하세요. [Discourse v3.4.0.beta3-dev부터 비추천됨] [deprecation id: discourse.hbr-topic-list-overrides]”
이 플러그인과 관련이 있는 것 같기도 합니다.

문제가 어디서 발생하는지 파악한 것 같습니다. 이 플러그인이 더 이상 지원되지 않는(deprecated) 것으로 보이므로, 제거해 보고 결과를 확인해 보겠습니다.

그렇지 않을 것 같습니다. 그것은 해당 플러그인이 사용하는 API에 대한 개발자 인지용 비추천(deprecation) 경고일 뿐이며, 에러가 아닙니다. 해당 특정 API는 2분기까지 제거되지 않을 것입니다.

흥미롭네요… 방금 Firefox에서 여러분의 사이트를 새로 열었습니다(로그인은 하지 않았습니다. Firefox를 이 사이트, 아니 오늘 아침에는 아예 처음 사용해 봤거든요). 그런데 로그인하지 않았는데도, 그 다른 사용자로 로그인되어 있는 것으로 보입니다.

그리고 몇 분 후에 페이지가 다시 새로고침되었고, 이번에는 로그아웃된 상태로 표시되었습니다.

그 후, Firefox 브라우저 콘솔에서 이러한 오류를 확인했습니다…

그리고 또 다른 새로고침 후, 이런 것들이 나타났습니다…

브레이브 브라우저에서 이걸 볼 수 있어요…

이 토론과 관련이 있을까요?

네, 말씀하신 대로 이것은 플러그인의 문제가 아닙니다. 현재 이 문제를 정확히 파악하고 해결하는 것은 아직 어렵습니다.

다시 로그인해 보았어요(브레이브 브라우저 사용) 그랬더니 이렇게 나와요(제 아바타가 제대로 표시되어 있는 걸 보면 로그인 상태인 것 같네요)…

그런데 페이지를 다시 새로고침하면 로그아웃 상태가 되네요…

또 사용자 목록 페이지로 가 봤는데, 거기에도 제가 사용자로 등재되어 있지 않아요…

그리고 다시 페이지를 새로고침하면 제가 로그인된 상태로 다시 나타나요…

그 직후 사용자 목록 페이지로 가 보았는데, 여전히 제가 사용자로 등재되어 있지 않아요(헤더에는 제 아바타가 제대로 보이는데도)…