【问题标题】:Nginx Block User-Agent "-"Nginx 阻止用户代理“-”
【发布时间】:2016-07-03 16:45:03
【问题描述】:

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

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;
    }

有人会知道怎么了?

【问题讨论】:

  • 502 表示内部服务器错误。您是否将请求代理到其他东西?您能否也发布您的 NGINX 配置?

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


【解决方案1】:

这是因为 $http_user_agent 变量可能会根据上下文具有不同的值。

如果请求中没有标头,则 it'll present itself as - in your access_log,在您的 if 语句中始终为空。

因此,也许您想要的是以下内容:

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

【讨论】:

  • @Marcos,这对你有用吗?如果是,请不要忘记接受并投票。谢谢!
猜你喜欢
  • 2014-02-18
  • 2019-05-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多