Google API에 대한 액세스를 10 요청/초로 제한해야합니다.토큰에 NGINX 속도 제한 사용
limit_req_zone $의 binary_remote_addr 영역 = mylimit :
이
내가 해당 설명서에 따라 사용하고 영역입니다 10m 속도 = 10R/S;
이 영역은 사용자 IP 주소를 식별로 사용 제한을 평가합니다. 종종 사람들은 동일한 IP 주소를 사용하여 시스템에 액세스합니다.
속도 제한에 대한 식별자로 사용자 tokenId를 사용할 수 있는지 궁금합니다. 모든 요청에는 URL에 tokenID
매개 변수가 포함되어 있습니다.
실마리가 있습니까?
감사합니다. 이 같은 $tokenid
변수 limit_req_zone "$tokenid" zone=limit:10m rate=1r/s;
(테스트/s 1R) 및 추출 :
limit_req_zone "$tokenid" zone=limit:10m rate=1r/s;
server {
...
location ~ \.php {
...
if ($args ~* "tokenID=([^&]+)") {
set $tokenid "$1";
}
...
}
}
가변 $tokenid
정확한 포함될 않음을
UPDATE
난 영역을 생성하려고 토큰 (응답에 헤더를 추가하여 테스트), limit_req_zone
에 의해 사용 된 값을 업데이트하는 것 같지 않습니다.
사용해보십시오'대신 내가 여러 인수를 시도 $ token' –
@TarunLalwani'의 $ arg_tokenID', 그것은 완벽하게 작동하지만, 함께'tokenID' 그것은 아무튼 '티. 대소 문자를 구분할 수 있기 때문일 수 있습니까? –
'tokenID'도'tokenid' 일 수 있다는 것을 의미합니까? 또는 토큰의 실제 값은 응용 프로그램에서 대소 문자를 구분합니까? –