配置nginx实现防盗链
在企业网站服务中,一般都要配置防盗链功能,以避免网站内容被非法盗用,造成经济损失
nginx防盗链功能也非常强大。默认情况下,只需要进行简单的配置,即可实现放到链处理
实验环境
一台nginx服务器,一台测试客户机,一台盗链机
实验过程
1.nginx服务器上部署nginx服务
详细部署过程请查看:https://blog.51cto.com/14557905/2460945
nginx部署成功!
2.配置盗链机
创建盗链机的网页
除非用本地的域名去访问
如果匹配的是无效的,否则就跳转一个error.png页面
配置说明
- valid_referers:设置信任的网站,即能引用相应图片的网站
- none:浏览器中referer为空的情况,就是直接在浏览器访问图片
- blocked:referer不为空的情况,但是值被代理或者防火墙删除了,这些值不以http://或者https://开头
- 后面的网址或者域名referer中包含相关字符串的网址
- if’语句:如果链接的来源域名不再valid_referers所列出的列表中,$invalid-referer为1,则执行后面的操作,即执行重写或返回403页面
[root@localhost ~]# cd /usr/local/nginx/ [root@localhost nginx]# ls client_body_temp fastcgi_temp logs sbin uwsgi_temp conf html proxy_temp scgi_temp [root@localhost nginx]# cd html/ [root@localhost html]# ls 50x.html index.html qq.jpg [root@localhost html]# mount.cifs //192.168.254.10/linuxs /abc Password for root@//192.168.254.10/linuxs: [root@localhost html]# cd /abc [root@localhost abc]# ls error.png [root@localhost abc]# cp error.png /usr/local/nginx/html/ [root@localhost abc]# cd - /usr/local/nginx/html [root@localhost html]# ls 50x.html error.png index.html qq.jpg [root@localhost html]# grep "qq.jpg" index.html <img src="qq.jpg"> [root@localhost html]# service nginx start [root@localhost html]# netstat -natp | grep 80 tcp 0 0 192.168.247.193:80 0.0.0.0:* LISTEN 3038/nginx: master
使用域名,需要使用dns解析服务
搭建dns详见我前面的博客
然后指定盗链主机和客户机的dns服务器
开始设置盗机
在win10内打开控制面板,控制面板内打开程序和功能,里面有开启或者关闭功能,点击
然后点击internet informatoion servers
关闭盗机防火墙
然后客户端去访问盗机网站
盗链成功,接下来做防盗链操作:[root@localhost html]# vim /usr/local/nginx/conf/nginx.conf location ~*\.(jpg|gif|swf)$ { valid_referers none blocked *.shl.com shl.com; if ( $invalid_referer ) { rewrite ^/ http://www.shl.com/error.png; } }
重启nginx服务
[root@localhost named]# service nginx stop [root@localhost named]# service nginx start
防盗链配置成功
FPM优化参数调整示例 - 优化原因:服务器为云服务器,运行了个人论坛,内存为1.5G,fpm进程数为20,内存消耗近1G,处理比较慢
- 优化参数调整
FPM启动时有5个进程,最小空闲2个进程,最大空闲8个进程,最多可以有20个进程的存在[root@localhost ~]# vim /usr/local/php/etc/php-fpm.conf pid = run/php-fpm.pid pm = dynamic pm.max_children=20 pm.static_servers = 5 pm.min_spare_servers = 2 pm.max_spare_servers = 8
来源:51CTO
作者:wx5d8ab22a0be5a
链接:https://blog.51cto.com/14557905/2463657