Re: Регулярные выражения в location

Daniel Podolsky onokonem at gmail.com
Wed Apr 1 17:28:55 UTC 2015


Для начала - query string не проверяется при поиске location

Надо делать именованный, проверять аргумент в if и переходить в
именованный. В этом виде if - не evil

On Wednesday, April 1, 2015, s.ivanov <nginx-forum at nginx.us> wrote:

> Необходимо сделать проксирование запросов вида
> http://site.ru/Mydll.dll?al=5f4ff3cb6478424481d6dfdf9d9a3696 на другой
> веб-сервер.При этом проксировать нужно только запросы указанного вида,
> любые
> другие в том числе и http://site.ru/Mydll.dll должны быть запрещены.
>
> 1.так
> location ~* ^/Mydll.dll(.*) {
> proxy_pass http://192.168.0.2:3000/$1$is_args$args;
> }
> срабатывает на любые запросы.
>
> 2. так
> location ~* ^/Mydll.dll$ {
> deny all;
> }
>
> location ~* ^/Mydll.dll(.*) {
> proxy_pass http://192.168.0.2:3000/$1$is_args$args;
> }
> Запрещено всё вообще, не редиректит разрешённые запросы.
>
> 3. так
> location = /Mydll.dll\?al=(.*) {
> proxy_pass http://192.168.0.2:3000/$1$is_args$args;
> }
> тоже не работает - правило не срабатывает.
>
> Вопрос: как составить регулярное выражение, чтобы правило в location
> срабатывало только на URL разрешённого вида?
> Спасибо.
>
> Posted at Nginx Forum:
> http://forum.nginx.org/read.php?21,257789,257789#msg-257789
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru at nginx.org <javascript:;>
> http://mailman.nginx.org/mailman/listinfo/nginx-ru
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx-ru/attachments/20150401/2c6503d3/attachment.html>


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