묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
IIS에서의 봇 차단 문의
2019.09.25 01:41
안녕하세요?
요즘 사이트가 페이지 이동하다 보면 랜덤하게 500에러가 나는경우가 있어 로그를 봤더니 AhrefsBot 봇으로 들어오는 사례가 많아 robot.txt에
User-agent: AhrefsBot
Disallow: /
User-agent: *
Allow:/
Disallow: /admin/
를 추가해 놓은 상태입니다.
서버를 내렸다 올려서 그런지 현재는 문제가 없으나 IIS 로그를 보면 여전히 status는 200인 상태로 로그는 계속 찍히고 있는데요..
서버를 내렸다 올리면 하루정도는 괜찮은데 몇시간 지나면 여전히 랜덤하게 500에러를 내거든요..
robot.txt가 제대로 작동하고 있는건가해서요..
감사합니다.
댓글 2
-
ehii
2019.09.30 14:42
-
eznz****
2019.10.01 00:36
답변 감사합니다.
확인해 보니 봇 때문은 아닌거 같습니다.
에러로그는 다음과 같습니다.
PHP Fatal error: Call to a member function getModuleActionXml() on null in D:\classes\module\ModuleHandler.class.php on line 327AWS를 사용중인데 서버를 내리고 새로운 서버를 올리면 멀쩡하다가 어느 시점에(서버마다 분 차이는 있습니다.)다시 에러가 몇초마다 올라오면서 사이트가 페이지를 이동하다 보면 500에러 간헐적으로 발생합니다.
getModuleActionXml()의 역활이 정확히 어떤건가요?
2주 넘어서 까지 해결이 안되고 있습니다.ㅜㅜ
감사합니다.
1. 정확한 파일명은 robots.txt 입니다 (robot.txt 가 아닙니다.) txt파일의 내용은 올바르게 작성하신 것으로 보입니다.
2. 특정 봇들은 robots.txt를 무시하고 크롤링을 시도합니다. 이런 경우 서버단에서 차단하시면 됩니다.
3. IIS서버라면 IIS관리자 > url재작성에서 아래와 같이 규칙을 추가하여 차단할 수 있습니다.(아파치서버라면 .htaccess 파일에서 설정할 수 있습니다.)
url 재작성에 관해서는 https://www.xpressengine.com/tip/22871709 를 참고하세요.
4. 웬만해서는 bot의 크롤링만으로 500에러가 발생하지 않습니다. 근본적인 다른 원인이 있는 것 같은데, 에러로그를 살펴 보시기 바랍니다.