Linux Centos7下实现nginx防盗链部署
admin
2023-03-10 07:42:18
0

一、原理:

nginx 防止网站资源被盗用模块

ngx_http_referer_module

​ HTTP Referer是Header的一部分,当浏览器向Web服务器发送请求的时候,一般会带上Referer,告诉服务器我是从哪个页面链接过来的,服务器借此可以获得一些信息用于处理,例如防止未经允许的网站盗链图片、文件等。因此HTTP Referer头信息是可以通过程序来伪装生成的,所以通过Referer信息防盗链并非100%可靠,但是,它能够限制大部分的盗链情况.

二、防盗链配置

[root@nginx-server ~]# vim /etc/nginx/nginx.conf

日志格式添加"$http_referer",默认已经打开了的,不需要操作。

log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                                '$status $body_bytes_sent "$http_referer" '
                                 '"$http_user_agent" "$http_x_forwarded_for"';

三、配置原服务器

准备两台机器,一张图片
1、在网站发布目录下编辑html文件并准备一张图片名为33.jpg,这里网站发布目录为/web1

vim /web1/index.html

        
        
        hostphoto.com


    
fangxi

2、编辑nginx子配置文件

location / {
        root   /web1;
        index  index.html index.htm;
        valid_referers none blocked 192.168.16.150;
                if ($invalid_referer) {
                   return 403;
                }
    }

• none : 允许没有http_refer的请求访问资源;
• blocked : 允许不是http://开头的,不带协议的请求访问资源---被防火墙过滤掉的;
• server_names : 只允许指定ip/域名来的请求访问资源(白名单);

3、检查配置文件是否有错误,没有错误重新加载。

nginx -t

nginx -s reload

四、配置要盗用的服务器

1、配置nginx访问页面并创建目录

location / {
        root   /web1;
        index  index.html index.htm;
    }
mkdir /web1

2、创建页面

vim /web1/index.html


    

五、测试

当开启防盗链时,访问要盗用的服务器,图片显示不出来。

当把防盗链代码注释之后,访问要盗用的服务器,图片就可以显示出来。

相关内容

热门资讯

较真卖家驱车1600公里花费5... 极目新闻评论员 屈旌近日,河南濮阳一冷冻榴莲果肉商家“程大叔”反映,自己遭遇一名买家恶意“仅退款”。...
天花板上的吊顶先用什么样的材料... 楼上内容精辟.设为最佳答案. 现在装修不得不提集成吊顶,集合照明,换气,取暖与一体的,不仅美观...
冰箱数字越低就越冷吗? 本站小编大大来解答下冰箱数字越低就越冷的观点是否正确,以及冰箱数字与温度的关系。 冰箱数字越...
怎样翻新厕所墙面地板?卫生间地... 1、确定瓷砖数量。实际瓷砖数量比装修面积多出一点,防止损耗导致数量不足。2、敲掉原有瓷砖。由于卫生间...
装修胶水怎么选?装修胶水气味多... 本文介绍了如何选择适合的装修胶水,包括根据使用部位、施工条件和粘接材料的特性来选择胶水,以及如何处理...
原有乳胶墙面翻新需刷几遍 关于墙面刷漆是很麻烦的,那么原有乳胶墙面翻新需刷几遍? 通常情况下,墙面乳胶漆刷三遍就够了,俗称“...
男子殴打他人被刺伤起诉索赔30... 朋友遭遇殴打,他上前劝阻无效;当朋友再次面临殴打时,他用刀刺伤打人者,是否属于正当防卫?正当防卫是否...
不止聂永真,九把刀拿了上亿补助... 海峡导报综合报道 台电(台湾电力公司)近日更换新的LOGO引发争议,尤其是现在台电还在亏损3000多...
阿根廷法医披露马拉多纳去世前状... 阿根廷一名法医日前在足球名宿迭戈·马拉多纳死亡案件的审判中表示,马拉多纳去世前遭受了约12个小时的痛...
斯洛伐克总理在俄表态:我是欧盟... 【环球网报道 记者 索炎琦】据俄罗斯《消息报》《乌克兰真理报》等媒体报道,斯洛伐克总理菲佐8日在莫斯...