nginx 使用 user_agent 控制客户端访问

回复 收藏
nginx的日志格式中,有一个字段叫做 $http_user_agent  这个其实是客户端浏览器的一个信息,比如咱们平时使用IE浏览器的话,nginx的日志中会记录类似于这样的信息:
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)
这一段信息就是 $http_user_agent 了。咱们可以根据这个特点来控制客户端的请求访问。比如,现在有这样一个需求
把使用IE 6.0 的客户端禁止访问,我们可以这样做:
在nignx的配置文件中,加入
  1.         location / {
  2.             if ($http_user_agent ~ 'MSIE 6.0'){
  3.                 return 403;
  4.             }
  5.         }
这样就能禁止使用IE 6.0的客户端访问服务器。
2011-10-12 13:04 举报
已邀请:
0

阿铭 管理员

赞同来自:

今天遇到攻击,user_agent 为 IE 5.0 于是,用了这个方法。一开始说啥也不生效。后来终于搞定了。

我只是把以下几行放到了,最上面。
  1.         if ($http_user_agent ~ 'MSIE 5.0'){
  2.                 return 403;
  3.         }
可以放到server_name 下
0

jade

赞同来自:

你请问这个最上面是指 ?  listen 80;上面 ???

回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: