Welcome! Log In Create A New Profile

Advanced

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

Иван Мишин
April 02, 2015 02:12AM
я бы предложил вот такой вариант

location / {
if ($query_string ~
al=5f4ff3cb6478424481d6dfdf9d9a3696
http://site.ru/Mydll.dll?al=5f4ff3cb6478424481d6dfdf9d9a3696) {
return 418;
}
error_page 418 = @nameloc;
deny all;
}

location @nameloc{
internal;
proxy_pass http://other_serv;
}

Соответственно все что не al=5f4ff3cb6478424481d6dfdf9d9a3696
http://site.ru/Mydll.dll?al=5f4ff3cb6478424481d6dfdf9d9a3696 будет
выдавать ошибку 403, то что al=5f4ff3cb6478424481d6dfdf9d9a3696
http://site.ru/Mydll.dll?al=5f4ff3cb6478424481d6dfdf9d9a3696 будет
проксироваться на другой сервер


1 апреля 2015 г., 20:28 пользователь Daniel Podolsky <onokonem@gmail.com>
написал:

> Для начала - query string не проверяется при поиске location
>
> Надо делать именованный, проверять аргумент в if и переходить в
> именованный. В этом виде if - не evil
>
>
> On Wednesday, April 1, 2015, s.ivanov <nginx-forum@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@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

ash2k - October 27, 2009 09:06AM

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

Alex, the Marrch Ca'at October 29, 2009 09:00AM

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

Daniel Podolsky April 01, 2015 01:30PM

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

Иван Мишин April 02, 2015 02:12AM

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

s.ivanov April 07, 2015 04:58AM

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

Иван Мишин April 07, 2015 05:02AM

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

s.ivanov April 14, 2015 09:59AM

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

Иван Мишин April 14, 2015 10:56AM

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

s.ivanov April 14, 2015 11:18AM

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

s.ivanov June 02, 2015 04:35AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 301
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