Nginx 접근 이 잦 은 IP 차단

오늘 회사 의 사 이 트 는 몇 개의 IP 가 너무 자주 방문 하고 데이터 베 이 스 를 자주 조회 하여 기계 부하 가 매우 높 기 때문에 실제 상황 에 따라 방문 이 빈번 한 IP 를 차단 하고 문 제 를 해결 할 수 있 습 니 다. 여기에 붙 여 참고 하 시기 바 랍 니 다.
스 크 립 트 는 실제 nginx log 형식 에 따라 수정 하고 방문 IP 와 User - agent 를 꺼 내야 합 니 다.
nginx 프로필 에 설정 을 추가 합 니 다.
include ./vhost/blockip.conf;

스 크 립 트 내용:
     #!/bin/bash
      nginx_home=/usr/local/webserver/nginx
      log_path=/usr/local/webserver/nginx/logs
      tail -n50000 /usr/local/webserver/nginx/logs/access.log \
      |awk '{print $1,$12}' \
      |grep -i -v -E "google|yahoo|baidu|msnbot|FeedSky|sogou" \
      |awk '{print $1}'|sort|uniq -c|sort -rn \
      |awk '{if($1>1000)print "deny "$2";"}' >$nginx_home/conf/vhost/blockip.conf
      /etc/init.d/nginx reload

그 후에 그 IP 몇 개가 차단 되 었 고 기계 부하 가 정상 으로 회복 되 었 다.

좋은 웹페이지 즐겨찾기