Bots blokkeren
Hoe kun je bepaalde bots of andere partijen blokkeren via nginx.
Het komt maar al te vaak voor dat je website bestookt wordt met requests van een bot die niets te zoeken heeft op jouw website. Je kunt dit achterhalen via de access logs. Hieruit blijkt dan vaak een bepaalde IP / IP range, user agent of land verantwoordelijk is voor het bestoken van jouw website.
Je kunt deze dan blokkeren via de nginx configuratie. Vergeet niet dat je na het aanpassen van de Nginx configuratie het nginx-reload
commando moet gebruiken.
Ip / Ip range
Onderstaand een voorbeeld van het blokkeren van een IP adres/ IP range.
deny 1.2.3.4; # IP
deny 1.2.3.4/16; # IP range CIDR notatie
User agent
Het blokkeren van alle user agents waar BadUserAgent
in voor komt kan zo:
if ($http_user_agent ~* (BadUserAgent) ) {
return 403;
}
Land
Het blokkeren van een land gebeurt via de ISO 3166-1 alpha-2 code.
Bijvoorbeeld China:
if ($geoip_country_code = 'CN') {
return 403;
}
Of meerdere landen zoals China en HongKong
if ($geoip_country_code ~* '(CN|HK)') {
return 403;
}
Pro-actief blokkeren
Naast het achteraf blokkeren van bots of landen biedt Hipex ook de mogelijkheid om een door ons bijgehouden lijst van foute bots
standaard te blokkeren. Dit staat standaard aan in ~/domains/<domain>/var/etc/security.nginx.conf
.
Sommige SEO tools gedragen zich al snel als een foute bot en worden hierdoor bij ons standaard geblokkeerd. Deze blokkade kun je uitschakelen via door deze regels in commentaar te zetten.
include /etc/nginx/bots.d/blockbots.conf;
include /etc/nginx/bots.d/ddos.conf;