Nginx Block User-Agent“ - ”

时间:2016-07-03 16:45:04

标签: nginx http-headers user-agent access-control ngx-http-rewrite-module

我正在获得某种导致我的服务器出现问题的访问权限:

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

我想阻止$ HTTP_USER_AGENT,这个尝试没有用。

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

有人会知道什么是错的吗?

1 个答案:

答案 0 :(得分:1)

这是因为$http_user_agent变量可能具有不同的值,具体取决于上下文。

如果请求中没有标头,那么it'll present itself as - in your access_log,在if语句中仍然只是空的。

因此,或许以下是你想要的:

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