Nginx 사재 기 제한 설정
2190 단어 nginx흐름 을 제한 하 다Linux
limit_req_zone $server_name zone=sname:10m rate=1r/s; #
#limit_req_zone $binary_remote_addr zone=one:3m rate=1r/s; # IP,
#limit_req_zone $binary_remote_addr$uri zone=two:3m rate=1r/s; # IP ,
#limit_req_zone $binary_remote_addr$request_uri zone=thre:3m rate=1r/s; # IP
server {
listen 80;
server_name www.abc.com;
location / {
include host/proxy.cnf;
proxy_pass http://backend;
}
location /api/createOrder {
limit_req zone=sname; # ,
limit_req_status 503; # 503
#limit_req zone=sname burst=5 nodelay; # 5,
include host/proxy.cnf;
proxy_pass http://backend;
error_page 503 =200 /50x.html; # , 503, 200
}
location = /50x.html {
if ($http_user_agent ~* "mobile|android|iPhone|iphone|ios|iOS"){
#default_type application/json;
return 200 '{"msg": " , !","data": {},"code": -1}'; #
}
root html; # PC HTML
}
}
중점: 정상 적 인 상황 에서 흐름 제한 이 설정 되 어 있 으 면 503 의 상태 코드 로 되 돌아 갑 니 다. 이것 은 모 바 일 에서 JSON 데 이 터 를 되 돌려 주 더 라 도 클 라 이언 트 가 알 아 보지 못 할 때 교묘 하 게 error 를 통 해page 403 =200 /50x.html;상태 코드 를 200 으로 설정
지금까지 ngx 만 사 용 했 습 니 다.limit_req_module, 동시에 ngx 를 사용 할 수 있 습 니 다.limit_conn_모듈 모듈.
이상 참조:https://gist.github.com/simlegate/75b18359316cc33d8e20
특히 일부 컨설팅 사이트 에 서 는 파충류 가 눈 에 띄 면 서버 가 파충류 에 의 해 말 라 죽 을 수도 있다 (작은 사이트 가 그렇다). 그러면 어떻게 해 야 할 까? 우 리 는 변 수 를 사용 하여 할 수 있다.
#
limit_req_zone $spider zone=spider:60m rate=200r/m; # 200
# server
limit_req zone=spider burst=5 nodelay;
if ($http_user_agent ~* “spider|bot”) {
set $spider $http_user_agent; # ,
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
간단! Certbot을 사용하여 웹 사이트를 SSL(HTTPS)화하는 방법초보자가 인프라 주위를 정돈하는 것은 매우 어렵습니다. 이번은 사이트를 간단하게 SSL화(HTTP에서 HTTPS통신)로 변경하는 방법을 소개합니다! 이번에는 소프트웨어 시스템 Nginx CentOS7 의 환경에서 S...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.