Роман Буренков
July 27, 2020 02:18AM
А какая была бы более правильная логика? Я изначально хотел сделать 2
правила с (?)(?!) но почему в таком regex`е у меня всё равно не тот url,
что я хотел просачивался в location ( location ~
(?^/.*.git/info/lfs/locks$)(?!^.*&lockservice=true$))

вс, 26 июл. 2020 г. в 15:00, <nginx-ru-request@nginx.org>:

> Сообщения, предназначенные для списка
> рассылки nginx-ru, отправляйте по адресу
> nginx-ru@nginx.org
>
> Для изменения параметров подписки или
> отписки используйте веб-страницу
> http://mailman.nginx.org/mailman/listinfo/nginx-ru
> или отправьте письмо, в теле или теме
> которого будет слово 'help', по адресу
> nginx-ru-request@nginx.org
>
> Адрес администратора этого списка
> рассылки:
> nginx-ru-owner@nginx.org
>
> При ответе, пожалуйста, измените тему
> письма на более содержательную чем "Re:
> Содержание дайджеста списка рассылки
> nginx-ru..."
> В этом номере:
>
> 1. Возможно ли остановить
> выполнение правил внутри
> location/выйти из location (Роман Буренков)
> 2. Re: Возможно ли остановить
> выполнение правил внутри
> location/выйти из location (Сергей Олегович)
>
>
>
> ---------- Forwarded message ----------
> From: "Роман Буренков" <panzercheg@gmail.com>
> To: nginx-ru@nginx.org
> Cc:
> Bcc:
> Date: Sun, 26 Jul 2020 12:11:20 +0300
> Subject: Возможно ли остановить выполнение правил внутри location/выйти из
> location
> Я использую 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
>
>
>
>
>
>
>
>
>
> ---------- Forwarded message ----------
> From: "Сергей Олегович" <shadow.tehb@gmail.com>
> To: <nginx-ru@nginx.org>
> Cc:
> Bcc:
> Date: Sun, 26 Jul 2020 12:28:43 +0300
> Subject: Re: Возможно ли остановить выполнение правил внутри
> location/выйти из location
> Можно в 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
>>
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru@nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

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

Роман Буренков July 26, 2020 05:12AM

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

imsystem July 26, 2020 05:30AM

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

Роман Буренков July 27, 2020 02:18AM

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

Maksim Kulik July 27, 2020 02:56AM

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

Роман Буренков July 27, 2020 06:46AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 263
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready