Защита от 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%;