×

网站 nginx阻止特定的referer访问 nginx拦截指定的referer请求

nginx屏蔽指定referer的http请求访问

mtsym mtsym 发表于2019-08-25 20:40:46 浏览6093 评论0

抢沙发发表评论

近段时间经常看到一些菠菜网站利用百度搜索逻辑来进行各种推广,比如

http://www.baidu.com/s?wd=hello1234561234.xyz.com

既浪费网站流量,又影响数据统计,所以得利用nginx进行屏蔽处理,首先建立一个block_referer.conf的文件,内容如下

map $http_referer $block_ref_urls {
    default 0;
    ~(?i)(^.*xyz.com.*$) 1;
}

屏蔽referer中带有xyz.com域名的请求,这个正则表达式根据自己的需要编写,然后在nginx.conf文件结束前include这个文件,之后便可以在vhost下自己的网站配置conf文件添加

if ($block_ref_urls) {return 403;}

当然狠一点的话直接return 444,效果更好,block_referer.conf里面可以创建多个map,这样不同的网站可以用不同的规则。

群贤毕至

访客