配置nginx实现防盗链功能
配置nginx实现防盗链功能(注:什么是防盗链,防盗链是防止别人盗用我 资源。)
Nginx防盗链功能也非常强大,在默认情况下只需要进行简单的配置,即可实现防盗链处理。
1:实验环境
资源主机: 192.168.100.10
防盗主机: 192.168.100.20
2:建立资源主机的测试主机
《1》:vim /etc/hosts 编辑文件
《2》:写入
192.168.100.10
192.168.100.20
《3》:vim /usr/local/nginx/html/index.html 编辑网页信息
《4》:修改
<h1>Welcome to </h1>
《5》:killall -HUP nginx 重启服务
《6》:访问
3:建立盗链主机的测试页,在第二台机器上
《1》:vim /etc/hosts 编辑文件
《2》:写入
192.168.100.10
192.168.100.20
《3》:vim /usr/local/nginx/html/index.html 编辑网页文件
《4》:修改
<h1>Welcome to ! </h1>
《5》:访问
《6》:修改本机的hosts文件 C:WindowsSystem32drivesetchosts
《7》:写入
192.168.100.10
192.168.100.20
《8》:浏览器中访问
《9》:右键--复制图片地址
《10》:vim /usr/local/nginx/html/index.html 编辑文件
《11》:写入:
<img src="http://www.source.com/123.png" />
《12》:访问
4:资源主机设置防盗链
配置说明:
Valid_referers 设置信任网站
-
None 浏览器中referer(Referer是header的一部分,当浏览器向web服务器发送请求的时候,一般会带上Referer,告诉服务器我是从哪个页面连接过来的,服务器基此可以获得一些信息用于处理)为空的情况,就直接在浏览器访问图片 Blocked referrer不为空的情况,但是值被代理或防火墙删除了,这些值不以http://或者https:// 开头。
《1》:vim /usr/local/nginx/conf/nginx.conf 编辑文件
《2》:写入(注:写入的内容要放在缓存的上面。)
location ~* .(wma|wmv|asf|mp3|mmf|zip|rar|jpg|gif|png|swf|flv)$ {
valid_referers none blocked *.source.com source.com;
if ($invalid_referer) {
rewrite ^/ ;
}
}
注释:
第一行:wma|wmv|asf|mp3|mmf|zip|rar|jpg|gif|png|swf|flv 表示对这些后缀的文件实行防盗链
第二行:none blocked *.source.com source.com; 不区分大小写
表示referers信息中匹配none blocked *.source.com source.com(*代表任何,任何的二级域名)
If{ }里面内容的意思是,如果连接不是来自第二行指定的就强制跳转到403错误页面,当然直接返>回404也是可以的,也可以是图片。
《3》:/usr/local/nginx/sbin/nginx -t 查看nginx的语法
《4》:killall -HUP nginx 重启服务
《5》:访问(注:F5是没有用的,Ctrl+F5强制刷新)
《6》:F12
《7》:echo "daoliankechi" > /usr/local/nginx/html/error.txt 输出
《8》:在浏览器上强制刷新
《9》:出现以下
《10》:双击error.txt 文件