Re: Регулярные выражения в location
s.ivanov
nginx-forum at nginx.us
Tue Jun 2 08:35:41 UTC 2015
Иван Мишин Wrote:
-------------------------------------------------------
> >
> > Предложенный вами синтаксис location/ пришлось сократить, иначе при
> > проверке
> > конфигурации возникала ошибка:
> > nginx: [emerg] named location "@nameloc" can be on the server level
> only
>
>
> Будьте внимательнее!
> В ошибке явно же написано что именованные локейшн @nameloc должен
> быть на
> уровне директивы server. В моем варианте именно так и есть, скорее
> всего вы
> опечатались когда пробовали мой вариант.
>
> Сам не так давно сталкивался с похожей задачей, поэтому мой конфиг
> 100%
> рабочий ибо опробован.
>
> 14 апреля 2015 г., 16:59 пользователь s.ivanov <nginx-forum at nginx.us>
> написал:
>
> > С таким вариантом получаем 403 Forbidden на URL любого типа,
> разрешённые и
> > нет — проксирования не происходит, не срабатывает правило.
> > Пробовал и так:
> >
> > location /Mydll.dll {
> > if ($query_string ~ al= ) {
> > proxy_pass http://192.168.0.2:3000;
> > }
> > deny all;
> > }
> >
> > и так:
> > proxy_pass http://192.168.0.2:3000$1;
> >
> > и так:
> > proxy_pass http://192.168.0.2:3000/$1$is_args$args;;
> >
> >
> > Предложенный вами синтаксис location/ пришлось сократить, иначе при
> > проверке
> > конфигурации возникала ошибка:
> > nginx: [emerg] named location "@nameloc" can be on the server level
> only
> >
> > Возможно, столь сложные конструкции регулярных выражений (разрешить
> всё
> > кроме) не поддерживаются в nginx в принципе?
> >
> > Posted at Nginx Forum:
> > http://forum.nginx.org/read.php?21,17244,258029#msg-258029
> >
> > _______________________________________________
> > nginx-ru mailing list
> > nginx-ru at nginx.org
> > http://mailman.nginx.org/mailman/listinfo/nginx-ru
> >
> _______________________________________________
> nginx-ru mailing list
> nginx-ru at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru
Коллега, я рано обрадовался - запросы к http://site.ru/Mydll.dll?al=
приводят к переадресации, а должны завершаться 403-ей...
Т.е.:
http://site.ru/Mydll.dll - 403, ok
http://site.ru/Mydll.dll? - 403, ok
http://site.ru/Mydll.dll?a - 403, ok
http://site.ru/Mydll.dll?al - 403, ok
http://site.ru/Mydll.dll?al= - пустой al без указания кода, переадресация на
@nameloc, не ok :(
Очевидно, надо на что-то изменить "~ al=" в
location /Mydll.dll {
if ($query_string ~ al= )
{
return 418;
}
?
Posted at Nginx Forum: http://forum.nginx.org/read.php?21,17244,259335#msg-259335
Подробная информация о списке рассылки nginx-ru