Защита от f5 и злостных ботов (шаблон для VestaCP)
Версия от 16:46, 19 апреля 2015; Sol (обсуждение | вклад)
Данная настройка поможет защитить сервер от перегрузки путем обновления страниц и злостных индексирующих ботов. Так же является готовым шаблоном для VestaCP.
В основной конфиг Nginx в секцию http добавляем:
#Эта директива ограничивает количество запросов от одного клиента до 10 запросов в секунду #!!! Попробовать проставить 5 вместо 10 запросов ещё сильнее ограничить нагрузку. limit_req_zone $binary_remote_addr zone=lim:10m rate=10r/s;
Дальше создаем новый шаблон для Nginx
vim /usr/local/vesta/data/templates/web/nginx/ho_burst_bot.tpl
server { listen %ip%:%proxy_port%; server_name %domain_idn% %alias_idn%; if ($http_user_agent ~* (AhrefsBot|MJ12bot|dobot|BLEXBot) ) { return 403; } error_log /var/log/httpd/domains/%domain%.error.log error; location / { limit_req zone=lim burst=10; proxy_pass http://%ip%:%web_port%; location ~* ^.+\.(%proxy_extentions%)$ { root %docroot%; access_log /var/log/httpd/domains/%domain%.log combined; access_log /var/log/httpd/domains/%domain%.bytes bytes; expires max; try_files $uri @fallback; } } location /error/ { alias %home%/%user%/web/%domain%/document_errors/; } location @fallback { proxy_pass http://%ip%:%web_port%; } location ~ /\.ht {return 404;} location ~ /\.svn/ {return 404;} location ~ /\.git/ {return 404;} location ~ /\.hg/ {return 404;} location ~ /\.bzr/ {return 404;} disable_symlinks if_not_owner from=%docroot%; include %home%/%user%/conf/web/nginx.%domain%.conf*; }
Или добавляем в готовый конфиг:
- от злостных ботов
server_name %domain_idn% %alias_idn%; if ($http_user_agent ~* (AhrefsBot|MJ12bot|dobot|BLEXBot) ) { return 403; } error_log /var/log/httpd/domains/%domain%.error.log error;
- от f5
location / { limit_req zone=lim burst=10; proxy_pass http://%ip%:%web_port%;