nginx 에서 단위 시간 내 에 방문 빈 도 를 제한 하 는 튜 토리 얼 을 실현 합 니 다.
먼저 nginx. conf 에 다음 과 같은 내용 을 추가 합 니 다.
map $http_x_forwarded_for $clientRealIp {
"" $remote_addr;
~^(?P[0-9\.]+),?.*$ $firstAddr;
}
###safe setting to limit the request number per second
limit_req_status 599;
limit_req_zone $clientRealIp zone=allips:70m rate=5r/s;
session 풀 크기 70M 입 니 다. 제 한 된 ip 이 많 으 면 줄 일 수 있 습 니 다. 제 한 된 ip 이 적 으 면 방문 할 수 있 는 ip 이 많 으 면 초당 5 개의 요청 을 늘 려 야 합 니 다. 이것 도 상황 에 따라 조절 되 는 것 입 니 다. 5 개 는 적당 하거나 조금 큰 것 입 니 다.
그리고 www. xxoo. com. conf (이것 은 lnmp 가 모든 가상 호스트 에 설정 파일 이 있 음) server 를 수정 합 니 다. location 에 다음 줄 을 추가 합 니 다.
limit_req zone=allips burst=5 nodelay;
이렇게 nginx 를 다시 시작 하면 스 크 립 트 테스트 를 작성 하고 병행 할 수 있 습 니 다.
다음 python 병렬 스 크 립 트 를 제공 합 니 다:
import threading
import time,urllib2
url = 'http://sf.gg/'
def worker():
try:
response = urllib2.urlopen(url)
print response.getcode()
except urllib2.HTTPError, e:
print e.code
for i in range(2000):
t = threading.Thread(target=worker)
t.start()
그 중 2000 과http://sf.gg/모두 수정 할 수 있 습 니 다. 그리고 python *. py > out 을 실행 하면 out 파일 안의 상태 코드 분 포 를 분석 할 수 있 습 니 다. 599 가 특히 말 을 많이 하면 주파수 제한 이 작용 합 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.