Можно в if засунуть rewrite ... last; Тогда после выполнения условия будет
совершён выход из этого location и поиск нового в соответствии с
изменениями. Но мне сходу видятся проблемы, т.к. изначально логика
построена неверно.
Роман Буренков <panzerc...@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