利用Nginx限制静态页面的访问权限(防盗链、禁止爬虫)

1.限制爬虫配置

if ($http_user_agent ~* "spider|crapy|Sogou web spider|Baiduspider|Googlebot|Bingbot|360Spider|Yisouspider|Sogouspider|Yahoo! Slurp")
{
    return 403;
}

  上述配置意思是,http_user_agent(对应浏览器参数User-agent)参数不区分大小写匹配到上述爬虫参数时,返回403. 该配置可以放置在server或location区域。

 

2. 防盗链设置

valid_referers ~\.apicloud\.;
if ($invalid_referer)
{
    return 403;
}

  valid_referers 是白名单, ~\.apicloud\.  是匹配到https://或http://链接中带有apicloud域名的,可以正常访问,其他则返回403.

  同等效果设置:valid_referers server_names;  server_names是匹配所在sever{}字段中配置的server_names值

          valid_referers domain.com *.apicloud.com 是匹配指定域名的所有域名可以正常访问

          valid_referers none;none:表示空的来路,比如直接访问的

          valid_referers blocked 192.168.13.225 ; blocked:表示被防火墙标识过的来路, 后面的ip就是允许的名单

     上述配置可以组合使用,如valid_referers none blocked 192.168.13.225 domain.com *.apicloud.com  server_names  ~\.apicloud\.;

 

posted @ 2019-11-28 14:21  南非波波  阅读(1954)  评论(0编辑  收藏  举报