nginx位置块中的正则表达式

问题描述 投票:0回答:1

我想对我的nginx启用速率限制,用于各种帐户,如5010和5011。

当我仅对帐户5010的注释行取消注释时,它完全正常。

我尝试了以下代码块,但它无法正常工作。

   location ^~ /google/(5010|5011)/photos {
   #location ^~ /google/5010/photos {
        #apply rate limiting
        limit_req zone=sone burst=1 nodelay;
        limit_req_status 429;
        limit_conn_status 429;

我究竟做错了什么?

nginx nginx-reverse-proxy rate-limiting nginx-config
1个回答
0
投票

尝试使用~*而不是^~

location ~* /google/(5010|5011)/photos 

来自qazxsw poi:

位置可以由前缀字符串或正则表达式定义。使用前面的“〜*”修饰符(对于不区分大小写的匹配)或“〜”修饰符(对于区分大小写的匹配)指定正则表达式。

docs

如果最长匹配前缀位置具有“^〜”修饰符,则不检查正则表达式。

© www.soinside.com 2019 - 2024. All rights reserved.