Nginx实现防盗链
------------------------------------------------------盗链--------------------------------------------------------
1.打开一台win10虚拟机,创建盗链网站
首先新建一个文本文档,写一段html文件,扩展名改为html结尾的格式,并把文件拖到此目录下:C:/inetpub/wwwroot/
<html>
<head>
<title>云计算网站</title>
</head>
<body>
<h1>this is test web</h1>
<img src="http://www.kgc.com/1wp.jpg"/>
</body>
</html>
然后安装并开启网站服务:
控制面板——程序——程序与功能——启用或关闭Windows功能,选中下面框住的选项,点击确定后安装。
安装好后在管理工具中找到刚安装好的服务,点击打开,网站服务时默认打开的状态。
2.因为在win10上引用了域名,所以要在Linux上搭建DNS服务器
(1)安装
[root@localhost ~]# yum install bind -y
(2)修改主配置文件
[root@localhost ~]# vim /etc/named.conf
127.0.0.1改为any
locahost改为any
(3)修改区域配置文件
[root@localhost ~]# vim /etc/named.rfc1912.zones
添加域名
(4)修改区域数据配置文件
[root@localhost ~]# cd /var/named/
[root@localhost named]# cp -p named.localhost kgc.com.zone
[root@localhost named]# vim kgc.com.zone
(5)开启服务
[root@localhost named]# systemctl start named
3.在win10上打开命令行进行域名测试,并查看IP地址,输入IP地址在网页进行访问,就可以看到到盗链的图片
----------------------------------------------------防盗链---------------------------------------------------
修改nginx配置文件,添加一段配置
[root@localhost conf]# vim /usr/local/nginx/conf/nginx.conf
67 location ~*\.(jpg|gif|swf)$ {
68 valid_referers none blocked *.kgc.com kgc.com;
69 if ( $invalid_referer) {
70 rewrite ^/ http://www.kgc.com/error.png;
71 }
72 }
把防盗链图片复制到/usr/local/nginx/html/目录下
[root@localhost conf]# mount.cifs //192.168.100.7/LAMP-C7 /abc/
Password for root@//192.168.100.7/LAMP-C7:
[root@localhost conf]# ls /abc/
1wp.jpg cronolog-1.6.2-14.el7.x86_64.rpm httpd-2.4.29.tar.bz2 nginx-1.12.2.tar.gz tomcat
apr-1.6.2.tar.gz Discuz_X2.5_SC_UTF8.zip LAMP-php5.6.txt php-5.6.11.tar.bz2 tomcat.zip
apr-util-1.6.0.tar.gz Discuz_X3.4_SC_UTF8.zip mysql-5.6.26.tar.gz php-7.1.10.tar.bz2
awstats-7.6.tar.gz error.png mysql-boost-5.7.20.tar.gz php-7.1.20.tar.gz
[root@localhost conf]# cp /abc/error.png /usr/local/nginx/html/
[root@localhost conf]# cd /usr/local/nginx/html/
[root@localhost html]# ls
1wp.jpg 50x.html error.png index.html
开启服务
[root@localhost conf]# killall nginx
[root@localhost conf]# nginx
再在win10浏览器上进行IP地址访问,会出现一张错误图片: