Re: Возможно ли остановить выполнение правил внутри location/выйти из location

Сергей Олегович shadow.tehb на gmail.com
Вс Июл 26 09:28:43 UTC 2020


Можно в if засунуть rewrite ... last; Тогда после выполнения условия будет 
совершён выход из этого location и поиск нового в соответствии с 
изменениями. Но мне сходу видятся проблемы, т.к. изначально логика 
построена неверно.

Роман Буренков <panzercheg на gmail.com> 26 июля 2020 г. 12:11:41 написал:
> Я использую gitlab 12 СE ( 12.9.2 (ac5568eb5d8) ) и nginx из поставки 
> gitlab (nginx 1.16.1 sha256:f11c2a6d )
>
> кусок моего location с правилами:
> location /test/lfs_lock_test.git/info/lfs/locks{ if ( $args ~ 
> "lockservice=true" ) { return 404; } 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;
> }
> я хочу обрабатывать все запросы на ^.*.git/info/lfs/locks внутри location,
> только если там не содержится lockservice=true в URI, в это случае,
> просто выйти из location ( без 404 ) ,т.к. в файле, который я правлю
> ( /var/opt/gitlab/nginx/conf/gitlab-http.conf ) есть в т.ч. и такое:
> location / { proxy_cache off; proxy_pass http://gitlab-workhorse; }
> т.е. если есть lockservice=true в URI, то не делать proxy_pass и в принципе 
> не применять правила из моего location
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru на nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru

----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mailman.nginx.org/pipermail/nginx-ru/attachments/20200726/ce8919f1/attachment.htm>


Подробная информация о списке рассылки nginx-ru