Nginx ile istenmeyen web robotlarını engellemek
Nginx ile istenmeyen web robotlarını engellemek gerekli.
Vps servera oldukça fazla sayıda istek geldiği için haliyle sistemin kaynak tüketimi fazla oluyor.
Nginx yapılandırma dosyamıza ekliyoruz.
Amaç ilgili kötü web botlarına 403 kodu döndürmek.
nano /etc/nginx/sites-enable/098-contoso.com.conf
# ------------- Kotu botlara izin yok --------------
if ($http_user_agent ~* .NET|facebookexternalhit|Barkrowler|claudebot|DotBot|bingbot|SemrushBot) {
return 403;
}
if ($http_referer ~ "(opensiteexplorer\.org|semrush\.com|semrush\.com|ubermetrics-technologies\.com)") {
set $prohibited "1";
}
if ($prohibited) {
return 403;
}
# ------------- Kotu botlara izin yok --------------
Nginx web serveri yeniden başlatalım.
nginx -s reload
şimdi kontrol edelim kötü botlar sitemizi nasıl görüyor.
caylak@rihanna:~$ curl -A "ClaudeBot" -I https://www.contoso.com
HTTP/2 403
server: nginx/1.18.0 (Ubuntu)
date: Tue, 16 Jul 2024 19:10:51 GMT
content-type: text/html
content-length: 162
caylak@rihanna:~$
Kod deposu
https://git.truvalinux.org.tr/caylakpenguen/nginx-badbot
Umarım faydalı olur.
Görüş ve eleştilerinizi beklerim.