2013-12-20 13 views
12

Ich möchte unerwünschte Bots vom Zugriff auf Websites auf dem Server blockieren.Löschen unerwünschter Verbindungen

Kann nginx die Verbindung sofort beenden/beenden, wenn ein bestimmter Bot erkannt wird?

if ($http_user_agent ~ (agent1|agent2)) { 
    **KILL CONNECTION**; 
} 

So etwas wie Beispiel oben.

Antwort

0

Ja, kann es. Sehen Sie sich die folgende Frage an - diese leitet auf der Grundlage einer Agentenzeichenfolge weiter, aber Sie können wirklich tun, was Sie wollen (Fehlerseite oder was auch immer).

Nginx proxy or rewrite depending on user agent

ist jedoch zu beachten - dass ein anständiger Bot gefälschten seine User-Agent-String wie ein normaler Browser anschauen, so ist dies keineswegs eine robuste Art und Weise bedeutet Bots von fegen Ihre Website zu verhindern.

+0

Bei dieser Frage geht es darum, die Verbindung abzubrechen, über die Sie überhaupt nicht sprechen. Der Beispielcode in der Frage behandelt bereits die Entscheidung des Benutzeragenten, so dass dies nicht einmal unklar ist. – Kissaki

-1
server { 
    listen 8443 default ssl; 
    error_page 404 403 = 444; #disconnect if 404 or 403 
    root /srv/empty; #Empty forder 
    ... 
    ... 

    location /summary_report{ 
     root /srv/www; 
     index index.html index.htm; 
    } 
} 

https://127.0.0.1/                                                             Trennen.
https://127.0.0.1/summary_report         Nicht trennen.

+0

Dies versucht nur/444 in einer Umleitungsschleife zu bedienen. – user193661

Verwandte Themen