2017-10-21 23 views
0

정적 콘텐츠에 대해 다른 limit_req 영역을 설정하려고합니다.Nginx 위치 검색 - 정규식과 일치하는 종료

location ^~ /img { 
    limit_req zone=static burst=60 nodelay; 
} 
location ^~ /logos { 
    limit_req zone=static burst=60 nodelay; 
} 
location ^~ /js { 
    limit_req zone=static burst=60 nodelay; 
} 
location ^~ /plugin { 
    limit_req zone=static burst=60 nodelay; 
} 

location/{ 
    limit_req zone=protected burst=5 nodelay; 
} 

이것은 잘 작동하지만 하나의 정규 표현식으로 그 위치를 압축 할 :

location ^~ /(img|logos|js|plugin) { 
    limit_req zone=static burst=60 nodelay; 
} 

이를 시도,하지만 작동하지 않습니다.^없이는 ~로만 작동하며 위치 /와 일치합니다. 영역을 protected으로 다시 설정합니다.^~ 리터럴 만 사용하고 있습니까? 이것을 깨끗한 방법으로 달성하는 다른 방법은 없습니까?

답변

0

는 Nginx에 documentation

에 따른 다음의 위치는 proxy_pass과 하나 전에 정의이며 정적 하에서 JS와 CSS 파일 요청 일치한다. 이 위치 블록은 사이트에서 허용하려는 다양한 확장 프로그램에 사용됩니다.

location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ { 
    limit_req zone=static burst=60 nodelay; 
    log_not_found off; 
    } 

또는, 당신은 내가이 일을해야한다고 생각이 사용할 수있는 좋은

location ~ ^/(img|logos|js|plugin)/ { 
    root /project_root_path; 
    limit_req zone=static burst=60 nodelay; 
}