2

Ich bin eine Art von Zugang erhalten, die Probleme auf meinem Server verursacht:Nginx Block-User-Agent „-“

172.68.28.210 - - [03/Jul/2016:13:41:06 -0300] " "GET/HTTP/1.1" 502 166 "-" "-" 

ich sogar die $ HTTP_USER_AGENT blockieren möchte, machte dieser Versuch nicht funktioniert .

Jemand würde wissen, was los ist?

+0

Die 502 bedeuten internen Serverfehler. Vertreten Sie die Anforderungen an etwas anderes? Könnten Sie bitte Ihre NGINX-Konfiguration auch posten? –

Antwort

1

Das liegt daran, dass die Variable $http_user_agent je nach Kontext unterschiedliche Werte haben kann.

Wenn der Header fehlt in der Anfrage, dann it'll present itself as - in your access_log, während immer noch nur leer in Ihrer if-Anweisung. So

, vielleicht ist die folgende, was Sie wollen stattdessen:

if ($http_user_agent = "") { 
    return 403; 
} 
+0

@Marcos, hat das für dich funktioniert? Wenn ja, bitte nicht vergessen, zu akzeptieren und upvote. Vielen Dank! – cnst