VPS를 사용 중이거나 Discourse 앞에 Nginx(Apache도 되지만 Nginx가 더 쉽습니다
)를 두고 있다면 봇을 차단하는 것이 훨씬 수월합니다. Discourse의 UI는… 사용하기가 그리 쉽지는 않은데, 그 이유는 외부에 봇이 너무 많기 때문입니다. robots.txt는 거의 쓸모없는 수준에 가깝습니다. 이를 따르는 봇이 매우 적고, 심지어 Google조차도 따르지 않으니까요.
문제는 노커(knocker)가 당신의 Discourse에 접근하려는 것이 아닙니다. 그들이 실제로 찾고 있는 것은 그 밖의 모든 것입니다.
- 수백 명의 스크립트 키디(script kiddie)가 WordPress가 설치되어 있는지, 특히 오래된 버전에 구멍이 뚫려 있는지 테스트하고 있습니다.
- SEO 스크레이퍼와 기타 스파이더가 주로 돈을 벌기 위해 당신의 콘텐츠를 분석하려고 합니다.
- 그리고 물론 검색 엔진도 있습니다.
이들은 해킹과 같은 실질적인 피해를 주지는 않지만, 이들을 응대하는 데는 순수한 비용만 듭니다.
문제는 서버가 이 모든 요청에 응답해야 한다는 점입니다. 봇이 아닌 실제 사용자로부터 오는 부하의 대부분이 봇에서 발생하게 되는 경우가 매우 흔합니다. 실제 사용자 1명당 봇이 약 50~500개나 있는 상황이 전혀 이상하지 않습니다.
그리고 이 모든 비용은 당신이 지불하게 됩니다.
저의 사이트(Discourse 포함)는 순수하게 핀란드어로 되어 있어 전 세계적 청중을 두고 있지는 않습니다. 그래서 강력한 도구 하나를 더 가지고 있는데, VPS에서만 사용할 수 있는 지리 기반 차단(geo-blocking)입니다.
러시아, 중국, 인도, 파키스탄, 이란, 이라크, 베트남의 친구들에게 정말 죄송하지만, 이 국가들을 차단했을 때 봇 부하가 약 90%나 감소했습니다.
봇과의 싸움은 끝없는 투쟁입니다. 그리고 포럼이 비공개가 아닌 경우, Discourse의 도구는 매우 제한적입니다. 하지만 그래도 없는 것보다는 낫습니다.
잘못 이해하지 마세요. 앱이 서버의 역할인 일을 하도록 원하는 것이 아닙니다. 단지 Discourse에만 의존해서는 안 된다는 의미입니다.