SIR

nginx 에서 크롤러 봇(crawler bot) 막기 > 개발자팁

개발자팁

개발과 관련된 유용한 정보를 공유하세요.
질문은 QA에서 해주시기 바랍니다.

nginx 에서 크롤러 봇(crawler bot) 막기 정보

웹서버 nginx 에서 크롤러 봇(crawler bot) 막기

본문

보통 웹사이트의 / 루트 디렉토리에 robots.txt 를 작성하면 크롤러가 잘 알아서 들어오던지, 피해가던지 해야 하는데 그런 기대를 하는 것은 무리인것 같습니다.

작성한대로 따라주지 않으니 방문자 확보에 도움이 안되고 무작정 퍼가기만 하는 크롤러는 막는게 서로(?)에게 좋습니다.

 

nginx 의 설정 파일에 다음과 같이 작성합니다.

그럼 robots.txt 를 무시하는 크롤러를 막을 수 있습니다.

 

 

    map $http_user_agent $limit_bots {
        default 0;
         ~*(bingbot|FeedDemon|GrapeshotCrawler|DuckDuckBot|MegaIndex) 1;
         ~*(VelenPublicWebCrawler|SimplePie|YandexBot|SCMGUARD|DotBot) 1;
         ~*(AhrefsBot|SemrushBot) 1;
    }

 

    server {


        location / {
            if ($limit_bots = 1) {
                return 403;
            }

 

        }

 

        location ~ \.php$ {

            if ($limit_bots = 1) {
                return 403;
            }

 

        }

 

 

 

# systemctl reload nginx

 

 

nginx 를 reload 한 후 log 를 살펴 보면

 

[2020-04-06T09:48:27+09:00] 200 - "GET /cma
[2020-04-06T09:48:29+09:00] 403 - "GET /qa/\compatible; SemrushBot/6~bl; +http://www.semrush.com/bot.html)" "-" "-"
[2020-04-06T09:47:58+09:00] 403 - "GET /ds_\ +http://yandex.com/bots)" "-" "-"
[2020-04-06T09:47:58+09:00] 403 - "GET /qa/\"-" "Mozilla/5.0 (compatible; DotBot/1.1; http://www.opensite
[2020-04-06T09:47:59+09:00] 403 - "GET /so_\0; +http://yandex.com/bots)" "-" "-"
[2020-04-06T09:48:00+09:00] 403 - "GET /qa/\Bot/6~bl; +http://www.semrush.com/bot.html)" "-" "-"

[2020-04-06T09:48:01+09:00] 200 - "GET /qa/

 

위와 같이 잘 막고 있는 것을 확인 할 수 있습니다.

추천7

댓글 전체

운영자님 정말 몰라서 궁금해서 질문드립니다

duckduck 이런덴 검색사이트로 아는데
검색엔진에 올라가 홍보에 도움주지않는가요?

구글도있는데 위에 운영자님께서 bot는 없는듯한데
그건 홍보에 도움 되서 뺀건가요??
전체 5,061
개발자팁 내용 검색

회원로그인

커뮤니티 통합 안내 배너

진행중 포인트경매

  1. 참여18 회 시작20.12.02 04:36 종료20.12.09 04:36

(주)에스아이알소프트 (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 대표메일:admin@sir.kr
사업자등록번호:217-81-36347 대표:홍석명 통신판매업신고번호:2014-서울강남-02098호 개인정보보호책임자:이총

© SIRSOFT