Re: Возможно ли остановить выполнение правил внутри location/выйти из location
Роман Буренков
panzercheg на gmail.com
Пн Июл 27 10:45:03 UTC 2020
Максим, спасибо огромное! В итоге это именно то, что я и хотел получить.
>
>
> ---------- Forwarded message ----------
> From: Maksim Kulik <kulmaks на gmail.com>
> To: nginx-ru на nginx.org
> Cc:
> Bcc:
> Date: Mon, 27 Jul 2020 09:54:02 +0300
> Subject: Re: Возможно ли остановить выполнение правил внутри
> location/выйти из location
> Можно после if делать внутренний редирект на другой локейшен (если,
> конечно, в вашем случае нет какой-то сложной дальнейшей обработки и вас
> интересует только то, что записано в location / ) при помощи error_page. То
> есть:
>
> error_page 420 = @special_location;
>
> location /test/lfs_lock_test.git/info/lfs/locks{
> if ( $args ~ "lockservice=true" ) {
> return 420;
> }
> rewrite ^/test/lfs_lock_test.git/(.*) /$1 break;
> proxy_pass https://localhost:5002;
> access_log /var/log/gitlab/nginx/lfs_lock_access.log gitlab_access;
> error_log /var/log/gitlab/nginx/lfs_lock_error.log debug;
> }
>
> location @special_location {
> proxy_cache off;
> proxy_pass http://gitlab-workhorse;
> }
>
> пн, 27 июл. 2020 г. в 09:16, Роман Буренков <panzercheg на gmail.com>:
>
>>
>> А какая была бы более правильная логика? Я изначально хотел сделать 2
>> правила с (?)(?!) но почему в таком regex`е у меня всё равно не тот url,
>> что я хотел просачивался в location ( location ~
>> (?^/.*.git/info/lfs/locks$)(?!^.*&lockservice=true$))
>>
>>
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mailman.nginx.org/pipermail/nginx-ru/attachments/20200727/8c1e8557/attachment.htm>
Подробная информация о списке рассылки nginx-ru