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 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
> если в регулярном выражении не нашлось ни одного символа в верхнем
> регистре. Это должно быть безопасно.
Да, лучше сделать так.
> Хотя мне вообще сомнителен выигрыш от отсутствия caseless. Мои
> прогоны pcretest -tm говорят о различиях слабоотличимых от
> погрешности измерений.
--
Игорь Сысоев
http://sysoev.ru
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru
|