问题描述
|
当使用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”用来表示它们。