Re: Оптимизация конфига
Igor Sysoev
igor на sysoev.ru
Пт Май 7 10:33:41 MSD 2010
On Fri, May 07, 2010 at 09:28:58AM +0300, Kirill Pekarov wrote:
> Hi, Igor.
>
> >> >> Первое, что не нравится, это то что нужно повторять в каждом локейшене
> >> >> ИФ для каждого бота. Пробовал в секции сервера сделать, но nginx выдал
> >> >> ошибку.
> >>
> >> > Какую ?
> >>
> >> /etc/nginx/sites-available# /etc/init.d/nginx restart
> >> Restarting nginx: 2010/05/07 10:12:57 [emerg] 1350#0: invalid
> >> condition "$http_user_agent" in /etc/nginx/sites-enabled/mysite.com:13
> >>
> >> 13-я строка:
> >>
> >> if ($http_user_agent ~* (Yahoo|Nutch|Twiceler|ia_archiver|DotBot|"Ask Jeeves"|"Speedy Spider"|Exabot) ) {
>
> > Кавычки не нужны:
>
> > if ($http_user_agent ~*
> > (Yahoo|Nutch|Twiceler|ia_archiver|DotBot|Ask Jeeves|Speedy Spider|Exabot)) {
>
>
> Не помогло. Ошибка такая же.
>
> Restarting nginx: 2010/05/07 10:25:03 [emerg] 28522#0: invalid
> condition "$http_user_agent" in /etc/nginx/sites-enabled/mysite.com:13
>
> Напомню версию на всякий случай
> nginx version: nginx/0.6.32 штатная в Debian Lenny
>
> server {
> listen 127.0.0.1:80;
> server_name www.mysite.com mysite.com;
>
> access_log /var/log/nginx/mysite_access.log;
> error_log /var/log/nginx/mysite_error.log;
>
> if ($http_user_agent ~* (Yahoo|Nutch|Twiceler|ia_archiver|DotBot|Ask Jeeves|Speedy Spider|Exabot) ) {
> return 503;
> }
Нужно заключить всё регулярное выражение в кавычки:
if ($http_user_agent ~* "(Yahoo|...|Speedy Spider|Exabot)") {
Это из-за пробелов в самом регулярном выражении.
--
Игорь Сысоев
http://sysoev.ru
Подробная информация о списке рассылки nginx-ru