регулярное выражение в блоке местоположения nginx - PullRequest
0 голосов
/ 30 апреля 2019

Я хочу включить ограничение скорости на моем 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;

Что я делаю не так?

1 Ответ

0 голосов
/ 30 апреля 2019

Попробуйте использовать ~* вместо ^~:

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

Фрон документы :

Местоположение может быть определено строкой префикса или регулярным выражением. Регулярные выражения задаются с предшествующим модификатором «~ *» (для сопоставления без учета регистра) или с модификатором «~» (для сопоставления с учетом регистра).

для ^~

если самое длинное совпадающее местоположение префикса имеет модификатор «^ ~», то регулярные выражения не проверяются.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...