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

s.ivanov nginx-forum at nginx.us
Wed Apr 1 17:18:27 UTC 2015


Необходимо сделать проксирование запросов вида
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