配置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 文件

经验分享 程序员 微信小程序 职场和发展