是否可以使用nginx记录但允许请求得到满足无效的引荐来源?

问题描述

| 当使用Nginx作为简单的Web服务器(没有反向代理魔术,甚至没有cgi等)时,是否可以设置VALID引荐来源网址列表并执行以下操作:
if ( referrer not in list of VALID referrers ) {
    log this referrer
}
使用标准的Nginx源或任何其他模块/扩展,是否有可能实现这种目的? 据我了解,这可能会涉及一点点,不需要完整的conf编写...将我指向正确的conf指令就足够了:) 谢谢!     

解决方法

        
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
中的正则表达式。标记“ 3”用来表示它们。     

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...