是否可以使用nginx记录(但允许请求完成)无效引用?

时间:2011-06-25 14:44:31

标签: logging nginx referrer

当使用nginx作为一个简单的网络服务器(没有反向代理魔术,甚至不是cgi等等)时,可以设置VALID引用列表并执行以下操作:

if ( referrer not in list of VALID referrers ) {
    log this referrer
}
使用标准的nginx源或任何其他模块/扩展,

是否可以这样?

据我所知,这可能会涉及到一些问题,不需要完整的conf写入...指出正确的conf指令就足够了:)

谢谢!

1 个答案:

答案 0 :(得分:2)

http {
  map $http_referrer $log_ref {
   default               0;

   http://referrer1/path 1;
   ~^http://referrer2/   1;
  }

  server {

    location / {
      if ($log_ref) {
        access_log ....
      }
    }

  }
}

Nginx版本0.9.6+支持map中的正则表达式。标记~用于表示它们。