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

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!

개발자팁

개발과 관련된 유용한 정보를 공유하세요.
질문은 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

댓글 5개

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

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

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

회원로그인

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