• 기간: 2025년 8월 초경
• 일일 트래픽: 하루 10만 건 이상의 “기타 트래픽”으로 급증
• 예: 2025년 8월 16일
• 로그인 사용자 페이지뷰: 12,531
• 익명 사용자 페이지뷰: 2,753
• 알려진 크롤러: 6,865
• 기타 트래픽: 102,054 (총 12만 건 중 대부분)
이 “기타 트래픽”은 비정상적이며 실제 사용자 활동보다 훨씬 많습니다. 가입자 수는 안정적이므로 진정한 성장으로 보기는 어렵습니다.
질문은 다음과 같습니다:
1\. Discourse에서 “기타 트래픽”은 일반적으로 무엇을 의미합니까?
2\. 이 트래픽이 봇, 스팸, 또는 잘못 구성된 리버스 프록시/CDN 때문일 수 있습니까?
3\. 이 트래픽을 줄이거나 필터링하는 방법은 무엇입니까? (예: Nginx, 방화벽, Discourse 설정)
4\. 무시해도 안전한지, 아니면 성능/비용에 영향을 미칠까요?
이러한 제3자/봇 트래픽을 적절하게 처리하기 위한 제안이나 모범 사례가 있다면 매우 유용할 것입니다.
크롤러는 웹사이트를 검색 엔진에 인덱싱하려는 의도로 접근하므로, 이러한 크롤러로 인한 트래픽 증가는 최소한으로 나타납니다. 단, 크롤러로 위장한 봇인 경우를 제외합니다. 많은 포럼은 크롤러에 의해 인덱싱되는 것을 원하지 않으며, 이를 방지하는 옵션이 바로 이 기능입니다. 크롤러는 출처를 식별할 수 있는 고유한 이름 또는 참조 정보를 가지므로, 여기에는 원하는 이름을 입력하여 해당 출처에서만 크롤링을 허용할 수 있습니다(크롤링이라는 단어는 다소 낯설 수 있죠 ).
트래픽 증가의 가장 유력한 원인은 봇일 가능성이 높으며, 이를 확인하기 위해 서버 로그를 점검해야 합니다. 리눅스의 아주 기초적인 지식을 가진 사람이 있다면, 평판이 나쁜 봇이 있는 국가를 차단하는 2분 설치 도구를 권장합니다(온라인에서 쉽게 찾을 수 있습니다). 설정이 완료된 후에도, 해당 국가에서 휴가를 보내는 커뮤니티 구성원들이 웹사이트에 접근하려면 VPN이 필요할 수 있다는 점을 공지하는 것이 좋습니다. 아래는 해당 도구로, 효율적이며 서버로 전송되는 불필요한 요청을 80~90%까지 줄여줍니다. 두 가지 모드가 있으므로 ‘허용 국가’ 또는 ‘차단 국가’ 중 하나를 선택해야 합니다.
Discourse의 GeoBlock 플러그인은 MaxMindDB 데이터베이스를 사용하여 사용자의 IP 주소를 기반으로 국가 또는 네트워크(ASN)를 결정하지만, 실제 차단은 서버 또는 네트워크/방화벽 수준이 아니라 애플리케이션 수준( Discourse 앱 내부)에서 발생합니다.
실제로:
방문자의 IP가 차단된 국가 또는 네트워크와 일치하면, Discourse 애플리케이션은 포럼 콘텐츠 대신 방문자에게 오류 페이지를 반환합니다.
차단이 발생하는 시점은 HTTP 요청이 Discourse 애플리케이션에 도달할 때입니다. 즉, 사용자는 차단되기 전에 요청이 웹 서버(예: nginx)와 Docker 컨테이너를 통과하여 Discourse 소프트웨어에 도달합니다.
이는 사용자가 최종적으로 Discourse에 의해 차단되더라도 서버 및 프록시/nginx 로그에서 이러한 요청을 여전히 볼 수 있음을 의미합니다.
“하드” 차단(요청이 Discourse 앱에 도달하기 전에 접근을 방지)이 필요하면 서버 수준의 GeoIP 솔루션(예: nginx/iptables 수준의 차단 또는 외부 도구)이 필요합니다.
요약:
Discourse GeoBlock 플러그인은 네트워크/서버 수준에서 요청을 차단하지 않으며, Discourse 애플리케이션이 요청을 처리한 후에만 차단합니다. 애플리케이션이 요청을 확인하기 전에 모든 접근을 방지하려면 서버 수준의 GeoIP 방식을 사용해야 합니다.
핀란드어로 질문했기 때문에 여러분이 이해하지 못할 것 같아서 대화 공유 기능을 사용하지 않았습니다
이는 귀하의 페이지에 도달했다는 것을 의미하므로, 방화벽 수준에서 차단하는 경우보다 서버에 더 가까운 계층에 있다는 뜻입니다. 그러나 이것이 반드시 리버스 프록시가 필요한 보안 문제라는 뜻은 아닙니다.
제가 제안한 도구는 이미 요청을 80% 줄여주며, Discourse는 안전한 애플리케이션입니다. 만약 웹사이트와 같이 서버에 다른 것을 호스팅하고 있다면 리버스 프록시가 유용할 수 있지만, 악의적인 평판을 가진 IP를 차단하기 위한 Crowdsec과 같은 다른 솔루션도 있습니다. Crowdsec light에 대해 AI에게 물어보세요.
(지오클로킹 플러그인 개발자입니다)
네, 지오클로킹 플러그인은 애플리케이션 레벨에서 요청을 차단합니다. 다만 이 과정은 매우 초기 단계에서 이루어집니다. 이렇게 설계된 이유는 사용자 친화적인 오류 페이지를 표시해야 하기 때문이며, 이를 위해 Discourse 에셋을 로드하고 해당 페이지를 보여줄 수 있어야 합니다. 설정에 따라 차단된 요청이 /logs에 기록되기도 합니다.
이 방식의 다른 장점으로는 Discourse 내에서 차단할 국가와 네트워크를 설정할 수 있다는 점, 그리고 접근을 단순히 차단하는 것뿐만 아니라 강제 검토(모더레이션)도 적용할 수 있다는 점이 있습니다.
로그 용량 증가나 CDN 대역폭 소비가 걱정된다면 이 플러그인은 적합하지 않을 수 있지만, 솔직히 이 두 가지가 크게 중요하다고 생각하지는 않습니다.