如果我们自己网站内的图片资源被其它网站所盗用,这会增加自己网站的带宽资源,增加很多额外的消耗,而且会对我们系统的稳定性有影响,为了防止自己网站上的图片资源被其它网站所盗用,我们需要给自己的服务器配置防盗链。
在Nginx的配置文件nginx.conf的 server段匹配图片资源允许的域名,,不匹配的直接重定向到其它连接或者直接返回403错误。
# 图片防盗链 location ~* \.(png|jpg|jpeg|gif|swf|flv)$ { valid_referers none blocked *.test.com; if ($invalid_referer) { # 如果有盗链的情况就使用url重写到错误页面(示例重定向到了百度首页logo图片) rewrite ^/ https://www.baidu.com/img/bd_logo1.png?qua=high; # 或者直接返回403错误码 #return 403; } } Nginx防爬虫优化 robots.txt机器人协议介绍Robots协议(也称为爬虫协议、机器人协议等)的全称是“网络爬虫排除标准”(Robots Exclusion Protocol),网站通过Robots协议告诉搜索引擎那些页面可以抓取,那些页面不能抓取。
Nginx防爬虫优化配置我们可以根据客户端的user-agent信息,轻松地阻止指定的爬虫爬取我们的网站。下面来看几个案例。
范例1:阻止下载协议代理,命令如下:
if ($http_user_agent ~* LWP::Simple|BBBike|wget) { return 403; }说明:如果用户匹配了if后面的客户端(例如wget),就返回403
范例2:测试禁止不同的浏览器软件访问
示例代码如下:
if ($http_user_agent ~* "Firefox|MSIE") { rewrite ^(.*) $1 permanent; }如果浏览器为FireFox或IE,就会跳转到。