Nginx详解十三:Nginx场景实践篇之防盗链
防盗链:
目的:防止资源被盗用
防盗链设置思路
首要方式:区别哪些请求是非正常的用户请求
基于http_refer防盗链配置模块(判断refer(上一步的链接)信息是否为允许访问的网站)
配置语法:valid_refer none | bloked | server_names | string ...;
默认状态:-
配置方法:server、location
确认之前配的timg.jpg还在/opt/app/code/images下面



编辑一个html,上传到/opt/app/code下面
<html>
<head>
<meta charset="utf-8">
<title>防盗链</title>
</head>
<body style="background-color:red;">
<img src="http://192.168.1.141/timg.jpg"/>
</body>
</html>

reload一下,再请求



把access.log打开再刷新一下网页:tail -f /var/log/nginx/access.log


配置允许过来的情况
在location里面加上:
valid_referers none bloched 192.168.1.141;
if ($invalid_referer){
return 403;
}


检查配置并重启
nginx -tc /etc/nginx/nginx.conf
nginx -s reload -c /etc/nginx/nginx.conf

用curl请求一下,这里由于请求timg.jpg会把图片底层打印出来,没必要,我们只需要请求的头部,所以加一个“-I”

试一下从百度跳转过去,失败

把跳转前的地址改为配置里面允许的地址,成功

这种配置方法,不止可以匹配ip,还可以匹配域名
如匹配google:valid_referers none bloched 192.168.1.141 ~ /google\./;
Nginx详解十三:Nginx场景实践篇之防盗链的更多相关文章
- (转)windows 下安装配置 Nginx 详解
windows 下安装配置 Nginx 详解 本文转自https://blog.csdn.net/kingscoming/article/details/79042874 nginx功能之一可以启动一 ...
- Web服务器之Nginx详解(操作部分)
大纲 一.前言 二.Nginx 安装与配置 三.Nginx 配置文件详解 四.Nginx 命令参数 五.配置Nginx提供Web服务 六.配置Nginx的虚拟主机 七.配置Nginx的用户认证 八.配 ...
- Web服务器之Nginx详解(理论部分)
大纲 一.前言 二.Web服务器提供服务的方式 三.多进程.多线程.异步模式的对比 四.Web 服务请求过程 五.Linux I/O 模型 六.Linux I/O 模型具体说明 七.Linux I/O ...
- 【转】Web服务器之Nginx详解(理论部分)
大纲 一.前言 二.Web服务器提供服务的方式 三.多进程.多线程.异步模式的对比 四.Web 服务请求过程 五.Linux I/O 模型 六.Linux I/O 模型具体说明 七.Linux I/O ...
- nginx详解之语法规则
1.location [=|~|~*|^~] /uri/ { … } location = / { # 精确匹配 / ,主机名后面不能带任何字符串 [ configuration A ] ...
- 详解 Redis 应用场景及应用实例
redis(二)高级用法 详解 Redis 应用场景及应用实例 Redis 它是什么?它用来做什么?它的优势与短板如何? 告诉你Redis是一个牛逼货
- 深入MySQL用户自定义变量:使用详解及其使用场景案例
一.前言 在前段工作中,曾几次收到超级话题积分漏记的用户反馈.通过源码的阅读分析后,发现问题出在高并发分布式场景下的计数器上.计数器的值会影响用户当前行为所获得积分的大小.比如,当用户在某超级话题下连 ...
- Nginx详解二十三:Nginx深度学习篇之Nginx+Lua开发环境搭建
Nginx+Lua开发环境 1.下载LuaJIT解释器wget http://luajit.org/download/LuaJIT-2.0.2.tar.gztar -zxvf LuaJIT-2.0.2 ...
- Nginx详解(正向代理、反向代理、负载均衡原理)
Nginx配置详解 nginx概述 nginx是一款自由的.开源的.高性能的HTTP服务器和反向代理服务器:同时也是一个IMAP.POP3.SMTP代理服务器:nginx可以作为一个HTTP服务器进行 ...
随机推荐
- Path for IClasspathEntry must be absolute:
关掉eclipse, 删除workspace工作目录下面的.metadata文件,看不到.metadata文件就 "ctril + H" 就可以看到了.然后重新打开eclipse, ...
- j假设程序需要要一个int烈血的刀变量来保存1英里所包含的步数(5280)为该变量编写一条声明语句。
j假设程序需要要一个int烈血的刀变量来保存1英里所包含的步数(5280)为该变量编写一条声明语句. final intFT_PER_MILE =5280
- IMX6开发板学习烧写Linux-QT系统步骤做个笔记
平台:迅为-i.MX6开发板 烧写系统:Linux-QT <ignore_js_op> Qt系统的烧写,是使用 MfgTool2 工具,只需要简单的配置下. 打开 “Mfgt ...
- Javascript - Jquery - 动画
动画(Dynamic) JQuery动画必须是在标准文档下使用 否则可能引起动画时抖动或其它不可预知的结果,标准文档格式: <!DOCTYPE html PUBLIC "-//W3 ...
- cmder使用简介
简介 cmder是一个增强型命令行工具,不仅可以使用windows下的所有命令,更爽的是可以使用linux的命令,shell命令. 下载 官网地址:http://cmder.net/ 下载的时候,会有 ...
- sqoop导数据
1.添加oracle jdbc驱动 https://blog.csdn.net/eason_oracle/article/details/76836758 2.
- filter、map、sorted和reduce函数
内置函数——filter.map和reduce filter filter()函数接收一个函数 f 和一个list,这个函数 f 的作用是对每个元素进行判断,返回 True或 False,filter ...
- Focal Loss
为了有效地同时解决样本类别不均衡和苦难样本的问题,何凯明和RGB以二分类交叉熵为例提出了一种新的Loss----Focal loss 原始的二分类交叉熵形式如下: Focal Loss形式如下: 上式 ...
- 开源的API文档工具框架——Swagger简介
初次接触Swagger是在2017年5月,当时公司正好要对整套系统架构进行重新设计,有同事推荐用这个技术框架来规范后台接口的API文档.当时因为架构重构,涉及改造的技术点太多,一时也就没太多精力,把S ...
- Zynq-Linux移植学习笔记之27UIO机制响应外部中断实现【转】
转自:https://blog.csdn.net/zhaoxinfan/article/details/80285150 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog ...