Для начала - query string не проверяется при поиске location<div><br></div><div>Надо делать именованный, проверять аргумент в if и переходить в именованный. В этом виде if - не evil <span></span><br><br>On Wednesday, April 1, 2015, s.ivanov <<a href="mailto:nginx-forum@nginx.us">nginx-forum@nginx.us</a>> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Необходимо сделать проксирование запросов вида<br>
<a href="http://site.ru/Mydll.dll?al=5f4ff3cb6478424481d6dfdf9d9a3696" target="_blank">http://site.ru/Mydll.dll?al=5f4ff3cb6478424481d6dfdf9d9a3696</a> на другой<br>
веб-сервер.При этом проксировать нужно только запросы указанного вида, любые<br>
другие в том числе и <a href="http://site.ru/Mydll.dll" target="_blank">http://site.ru/Mydll.dll</a> должны быть запрещены.<br>
<br>
1.так<br>
location ~* ^/Mydll.dll(.*) {<br>
proxy_pass <a href="http://192.168.0.2:3000/$1$is_args$args" target="_blank">http://192.168.0.2:3000/$1$is_args$args</a>;<br>
}<br>
срабатывает на любые запросы.<br>
<br>
2. так<br>
location ~* ^/Mydll.dll$ {<br>
deny all;<br>
}<br>
<br>
location ~* ^/Mydll.dll(.*) {<br>
proxy_pass <a href="http://192.168.0.2:3000/$1$is_args$args" target="_blank">http://192.168.0.2:3000/$1$is_args$args</a>;<br>
}<br>
Запрещено всё вообще, не редиректит разрешённые запросы.<br>
<br>
3. так<br>
location = /Mydll.dll\?al=(.*) {<br>
proxy_pass <a href="http://192.168.0.2:3000/$1$is_args$args" target="_blank">http://192.168.0.2:3000/$1$is_args$args</a>;<br>
}<br>
тоже не работает - правило не срабатывает.<br>
<br>
Вопрос: как составить регулярное выражение, чтобы правило в location<br>
срабатывало только на URL разрешённого вида?<br>
Спасибо.<br>
<br>
Posted at Nginx Forum: <a href="http://forum.nginx.org/read.php?21,257789,257789#msg-257789" target="_blank">http://forum.nginx.org/read.php?21,257789,257789#msg-257789</a><br>
<br>
_______________________________________________<br>
nginx-ru mailing list<br>
<a href="javascript:;" onclick="_e(event, 'cvml', 'nginx-ru@nginx.org')">nginx-ru@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx-ru" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx-ru</a></blockquote></div>