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