nginx 로 그 를 분석 하고 채집 자 ip 차단 (nginx ip 설정 인 스 턴 스 차단)

2175 단어
채집 과 채집 방 지 는 오 랜 화제 로 한편 으로 는 남 의 물건 을 만 들 고 싶 고, 다른 한편 으로 는 자신의 물건 을 다른 사람 에 게 빼 앗 기 고 싶 지 않다.
본 고 는 nginx 차단 ip 을 이용 하여 채집 을 방지 하 는 방법 을 소개 하 며, 당연히 iptable 을 통 해 이 루어 질 수 있 습 니 다.
1. 차단 할 ip 찾기
 
  
awk '{print $1}' nginx.access.log |sort |uniq -c|sort -n

nginx. access. log 는 로그 파일 입 니 다.
다음 과 같은 결 과 를 얻 을 수 있 습 니 다. 앞 에는 ip 의 방문 횟수 이 고 뒤 에는 ip 입 니 다. 우 리 는 방문 횟수 가 많은 ip 을 차단 해 야 합 니 다. 거미 의 ip 이 아 닙 니 다. 본 사례 에서 우 리 는 165.11.122.67 을 차단 해 야 합 니 다.
 
  
 ...
  13610 202.112.113.192
  95772 180.169.22.135
 337418 219.220.141.2
 558378 165.91.122.67
 

2. nginx 의 설치 디 렉 터 리 아래 에 새 차단 ip 파일 을 만 들 고 Blockip. conf 라 고 명명 합 니 다. 나중에 차단 ip 을 새로 추가 하려 면 이 파일 만 편집 하면 됩 니 다.다음 과 같은 내용 을 추가 합 니 다.
 
  
deny 165.91.122.67;

저장 해.
3. nginx 의 프로필 nginx. conf 에 다음 설정 을 추가 하면 http, server, location, limit 에 넣 을 수 있 습 니 다.exception 구문 블록, 상대 경 로 를 주의해 야 합 니 다. 이 예 에서 nginx. conf, Blocksip. conf 는 같은 디 렉 터 리 에 있 습 니 다.
 
  
include blockip.conf;

4. nginx 서 비 스 를 다시 시작 합 니 다: / usr / local / nginx / nginx - s reload 가 적 용 됩 니 다.
고급 용법:
ip 를 차단 하 는 설정 파일 은 하나의 ip 도 차단 할 수 있 고 ip 세그먼트 도 차단 할 수 있 으 며, 특정한 ip 또는 특정한 ip 세그먼트 만 접근 할 수 있 습 니 다.
 
  
# ip

deny IP;
# ip

allow IP;
# ip

deny all;
# ip

allow all;
# 123.0.0.1 123.255.255.254

deny 123.0.0.0/8
# IP 123.45.0.1 123.45.255.254

deny 124.45.0.0/16
# IP 123.45.6.1 123.45.6.254

deny 123.45.6.0/24


만약 당신 이 이러한 응용 을 실현 하고 싶다 면, 몇 개의 IP 를 제외 하고 모든 것 을 거절 합 니 다.
그럼 블록 ip. conf 에 이렇게 써 야 돼 요.
 
  
allow 1.1.1.1;
allow 1.1.1.2;
deny all;

단독 사이트 에서 IP 를 차단 하 는 방법, include blocksip. conf;사이트 주소 에 대응 하 는 server {} 구문 블록 에 넣 습 니 다.
모든 사이트 에서 IP 를 차단 하 는 방법, include blocksip. conf;http {} 구문 블록 에 넣 습 니 다.

좋은 웹페이지 즐겨찾기