Оптимизация конфига

Kirill Pekarov orion_ на mail.ru
Пт Май 7 09:36:29 MSD 2010


Добрый день.

Подскажите плиз по конфигу.

Первое, что не нравится, это то что нужно повторять в каждом локейшене
ИФ для каждого бота. Пробовал в секции сервера сделать, но nginx выдал
ошибку.

Второе, что не нравится, это размер самого конфига после добавления
блокировки этих самых ботов. Возможно ли более компактная запись? Или
может в файл вынести их как-то? Если можно, то подскажите как.

Спасибо!

nginx version: nginx/0.6.32

Сори если баян.




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;

     # Перенаправление на back-end
    location / {

        # левые боты
        if ($http_user_agent ~ Yahoo)
        {
                return 503;
        }

        if ($http_user_agent ~ Nutch)
        {
                return 503;
        }

        if ($http_user_agent ~ Twiceler)
        {
                return 503;
        }

        if ($http_user_agent ~ ia_archiver)
        {
                return 503;
        }

        if ($http_user_agent ~ DotBot)
        {
                return 503;
        }

        if ($http_user_agent ~ "Ask Jeeves")
        {
                return 503;
        }

        if ($http_user_agent ~ "Speedy Spider")
        {
                return 503;
        }

        if ($http_user_agent ~ Exabot)
        {
                return 503;
        }

        proxy_pass  http://backend;
        include     /etc/nginx/proxy.conf;
    }

    # Статическиое наполнение отдает сам nginx
    # back-end этим заниматься не должен
    location ~* \.(jpg|jpeg|gif|png|ico|css|bmp|swf|js)$ {

         # Левые боты
        if ($http_user_agent ~ Yahoo)
        {
                return 503;
        }

        if ($http_user_agent ~ Nutch)
        {
                return 503;
        }

        if ($http_user_agent ~ Twiceler)
        {
                return 503;
        }

        if ($http_user_agent ~ ia_archiver)
        {
                return 503;
        }

        if ($http_user_agent ~ DotBot)
        {
                return 503;
        }

        if ($http_user_agent ~ "Ask Jeeves")
        {
                return 503;
        }

        if ($http_user_agent ~ "Speedy Spider")
        {
                return 503;
        }

        if ($http_user_agent ~ Exabot)
        {
                return 503;
        }

        root /var/www/mysite/;
        expires max;
        add_header Cache-Control public;
    }

}



-- 
With best regards
 Kirill                          mailto:orion_ at mail.ru




Подробная информация о списке рассылки nginx-ru