ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Отдача большого контент а через fast_cgi



On Mon, Nov 30, 2009 at 12:36:09PM +0300, Alex, the Marrch Ca'at wrote:

> 2009/11/29 Maxim Dounin <mdounin@xxxxxxxxxx>:
> > Hello!
> >
> > On Sun, Nov 29, 2009 at 07:22:43PM +0300, Igor Sysoev wrote:
> >
> >> On Sun, Nov 29, 2009 at 07:05:12PM +0300, Maxim Dounin wrote:
> >>
> >> > > > > > > > On Sun, Nov 29, 2009 at 05:50:06PM +0600, Peter A. Shevtsov 
> >> > > > > > > > wrote:
> >> > > > > > > >
> >> > > > > > > > > Увы!
> >> > > > > > > > > [emerg]: pcre_compile() failed: unrecognized character 
> >> > > > > > > > > after (? in
> >> > > > > > > > > "^www\.(?p<name>.+)$" at "p<name>.+)$" in
> >> > > > > > > > > /etc/nginx/conf.d/virtual.conf:7
> >> > > > > > > >
> >> > > > > > > > А вот это уже бага - nginx приводит регулярное выражение к 
> >> > > > > > > > нижнему
> >> > > > > > > > регистру, что делает его невалидным.
> >> > > > > > > >
> >> > > > > > > > Патч.
> >> > > > > > >
> >> > > > > > > Я думаю, лучше проверять "?P<" на стадии конфигурации, чем 
> >> > > > > > > гонять caseless
> >> > > > > > > в run-time. Вроде, кроме "?P<", больше таких конструкций нет ?
> >> > > > > >
> >> > > > > > Другой патч. В принципе, PCRE использует большие буквы в опциях 
> >> > > > > > и прочем,
> >> > > > > > но насколько я понимаю, в контексте server_name все они, кроме 
> >> > > > > > "?P<",
> >> > > > > > не имеют смысла.
> >> > > > >
> >> > > > > Не-а.
> >> > > > >
> >> > > > > server_name ~^(?<name>.+)\Q.example.com\E;
> >> > > > >
> >> > > > > Дальше будем продолжать? :)
> >> > > >
> >> > > > Тогда можно оставлять без изменения символ после "\" и "?".
> >> > >
> >> > > Патч.
> >> >
> >> > server_name "~^www(?<number>\p{N}+)\.example\.com$";
> >>
> >> Какой человек, находясь в трезвом уме и светлой памяти, напишет "\p{N}"
> >> вместо "\d" ? Я, например, про "\p{N}" узнал только что из pcresyntax(3) :)
> >
> > Кто сказал - человек?  Давно уже всеми подобными вещами занимаются
> > огромные боевые человекоподобные роботы.  ;)
> >
> >> > Вот что действительно можно сделать - это не ставить caseless
> >> > если в регулярном выражении не нашлось ни одного символа в верхнем
> >> > регистре.  Это должно быть безопасно.
> >>
> >> Да, лучше сделать так.
> >
> > Патч.
> >
> > Maxim Dounin
> 
> Игорь, скажите - этот (последний) патч войдет в очередную сборку nginx?

Да.


-- 
Игорь Сысоев
http://sysoev.ru

_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.