Nginx做为静态资源web服务之防盗链
首先,为何须要防盗链,由于有些资源存在竞争对手的关系,好比淘宝的商品图片,不会轻易的让工具来爬虫爬走收集。可是若是使用防盗链,须要知道上一个访问的资源,而后放入名单中进行判断。那么如何获取上一个访问的资源呢,能够经过http_referers模块来实现。
1.查看 nginx.conf能够查看日志的配置中有下面这一段
因此能够经过看日志来看看 $http_referer 保存的信息是什么了。
2. 配置一个html,html信息以下
<html>
<head>
<title>duguxiaobiao</title>
</head>
<body style="background-color:red">
<img src="http://192.168.78.135/1.jpg"/>
</body>
</html>
3. default.conf文件中信息仍是以下,暂时不修改,再打开日志,等加载后输入网址看效果
4. 输入网址,查看效果
从日志中也能够看到,上一个网址是 test_referer.html文件,下面来配置防盗链
5. 在default.conf文件中添加以下配置
解释一下: valid_referers:表示白名单, none:表示空的来路,好比直接访问的, blocked:表示被防火墙标识过的来路, 后面的ip就是容许的名单。若是不在这些白名单的配置下得来路,都会进入到 403。
6. 使用工具测试,先模拟从百度下发送请求,发现403被拦截
下面改为 本地ip来测试