오류 "해당 IP 주소로는 로그인할 수 없습니다"에 대한 응답, 하지만 IP가 차단되지 않은 경우

몇 주 전에 이 문제를 겪었는데, 검색을 해봐도 문제점에 대한 논의만 있을 뿐 실질적인 해결책은 찾을 수 없었습니다.

그러나 문제를 일으킨 원인을 발견했습니다. 바로 Cloudflare 뒤에 Discourse 서버를 프록시 설정한 것이었습니다. Cloudflare는 이미 몇 년 동안 메인 웹서버를 성공적으로 프록시하고 보호해 왔는데, 일부 AI 스팸을 차단하기 위해 이 설정을 적용한 것이 문제가 된 것입니다. Cloudflare는 이미 메인 웹서버에 대해 이 작업을 수행하고 있었죠.

하지만 그렇게 하자마자 사용자들과 관리자들이 해당 IP 주소에서 로그인할 수 없다는 오류를 보기 시작했습니다. 서브도메인의 프록시 설정을 해제하자(이게 말이 되는 표현인지는 모르겠지만) 모든 것이 다시 완벽하게 작동하기 시작했습니다.

그렇다면 왜 Cloudflare 뒤로 프록시 설정을 한 것이 문제를 일으킨 것일까요? 어쩌면 해결책의 힌트를 줄 수 있을까요? Discourse 서버가 실행 중인 호스트의 IP 주소가 Cloudflare가 노출하는 IP 주소와 다르다고 판단하고 있는 것일까요? 이것이 문제의 원일 수 있을까요?

app.yml에서 templates/cloudflare.template.yml를 사용해야 합니다. 그렇지 않으면 모든 접근이 Cloudflare IP 주소에서 온 것으로 인식되어, 해당 Cloudflare 서버를 사용하는 모든 사용자를 차단하게 됩니다.

Discourse AI - 스팸 감지도 참고하세요.

도와주셔서 정말 감사합니다!