Nginx配置防盗链的完整步骤
需求:
通常站点,都会想让自己网站的视频和图片,免被盗用,毕竟视频流量,花的都是白花花银子(土豪可以不用考虑)~~.
一、单刀直入,先上nginx配置文件
server { listen 80; server_name www.test.com; root /data/web/; index index.php index.html; access_log /data/logs/nginx/biao.madacode.access.log main; location /{ root /home/data/; } error_page 404 /usr/local/nginx/html/404.html; location ~ .*\.(wma|wmv|asf|mp3|mp4|mmf|zip|rar|jpg|gif|png|swf|flv)$ { valid_referers none blocked server_names *.test.com http://IP; if ($invalid_referer) { return 403; } expires 24h; access_log off; } location ~ /\. { deny all; } }
二、防盗链核心配置文件解释
location ~ .*\.(wma|wmv|asf|mp3|mp4|mmf|zip|rar|jpg|gif|png|swf|flv)$ { valid_referers none blocked server_names *.test.com http://IP; if ($invalid_referer) { return 403; } expires 24h; access_log off; }
vaild_referers 有效的引用连接,如下,否则就进入$invaild_refere,返回403 forbiden。
1、none
"Referer" 来源头部为空的情况
2、blocked
"Referer"来源头部不为空,但是里面的值被代理或者防火墙删除了,这些值都不以http://或者https://开头.
3、server_names
"Referer"来源头部包含当前的server_names(当前域名)
三、模拟案例测试
1、添加 --referer 模拟引用,看结果直接403.证明上面配置是OK的
[root@test]# curl --referer http://baidu.com -I http://www.test.com/temp/T19254/20190820/video_out_out/1/0011.mp4 HTTP/1.1 403 Forbidden Server: Tengine Date: Wed, 21 Aug 2019 09:54:44 GMT Content-Type: text/html Content-Length: 639 Connection: keep-alive
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。
相关推荐
-
nginx rewrite重写规则与防盗链配置方法教程详解
导读:nginx rewrite重写规则与防盗链配置方法,rewrite规则格式中flag标记的几种形式,盗链时返回403错误,允许的域名直接跟在第二行的域名后面. nginx rewrite重写规则与防盗链配置方法如下所示: nginx rewite 规则,官方文档:http://wiki.nginx.org/NginxHttpRewriteModule nginx rewrite规则格式:rewrite regex replacement flag flag标记有四种格式: last – 相
-
nginx利用referer指令实现防盗链配置
实现图片防盗链: location ~* \.(gif|jpg|png|webp)$ { valid_referers none blocked domain.com *.domain.com server_names ~\.google\. ~\.baidu\.; if ($invalid_referer) { return 403; #rewrite ^/ http://www.domain.com/403.jpg; } root /opt/www/image; } 以上所有来至domain
-
Nginx和Apache几种防盗链配置方法实例
要实现防盗链,我们就必须先理解盗链的实现原理,提到防盗链的实现原理就不得不从HTTP协议说起,在HTTP协议中,有一个表头字段叫 referer,采用URL的格式来表示从哪儿链接到当前的网页或文件.换句话说,通过referer,网站可以检测目标网页访问的来源网页,如果是资源 文件,则可以跟踪到显示它的网页地址.有了referer跟踪来源就好办了,这时就可以通过技术手段来进行处理,一旦检测到来源不是本站即进行阻止或者返 回指定的页面. Nginx防盗链的配置 1.nginx针对文件类型的防盗链配置
-
详解Nginx防盗链和Nginx访问控制与Nginx解析php的配置
详解Nginx防盗链和Nginx访问控制与Nginx解析php的配置 Nginx防盗链 配置如下,可以和上面的配置结合起来 location ~* ^.+\.(gif|jpg|png|swf|flv|rar|zip|doc|pdf|gz|bz2|jpeg|bmp|xls)$ { expires 7d; valid_referers none blocked server_names *.test.com ; if ($invalid_referer) { return 403; } access
-
Nginx跨域访问场景配置和防盗链详解
跨域访问控制 跨域访问 为什么浏览器禁止跨域访问 不安全,容易出现CSRF攻击! 如果黑客控制的网站B在响应头里添加了让客户端去访问网站A的恶意信息,就会出现CSRF攻击 Nginx如何配置跨域访问 add_header语法 Syntax:add_header name value [always]; Default:- Context:http, server, location, if in location 语法解释: add_header name value [always]; nam
-
Nginx防盗链的配置方法
处于服务性能的考虑,我们通常把HTML静态资源按照不同类型划分存放在多台服务上. 如果拓扑图: 超文本传输协议中的Referer作用 Referer:null 表示请求者直接访问 Referer:blocked 一般为防火墙设备添加的 Referer:URL 表示URL中的主机告诉请求者的间接访问 图中jpg.good.com显然是一台专门用户存放图片的服务器,而www.good.com是一台WEB服务器,从域名可以看出必然是一家公司,条件: 1.只允许访问www.good.c
-
通过lua来配置实现Nginx服务器的防盗链功能
下载服务器时常被人盗链,时间久了导致服务器大量资源浪费,由于服务器使用nginx做为web服务器.nginx的防盗链方法有很多,可以使用现成的防盗链模块nginx-accesskey-2.0.3,编译ningx时添加此模块即可. 由于服务其他业务需要,所以nginx编译了lua模块,所以就想通过lua来实现下载服务器的防盗链功能(通过lua的Nginx模块lua_nginx_module.这里不再详细介绍配置过程),这样就可以免去了accesskey模块.原理就是生成经过处理过的下载链接,然后下
-
配置Nginx的防盗链的操作方法
实验环境 •一台最小化安装的CentOS 7.3虚拟机 •配置:1核心/512MB •nginx版本1.12.2 一.配置盗链网站 1.启动一台nginx虚拟机,配置两个网站 vim /etc/nginx/conf.d/vhosts.conf 添加以下内容 server { listen 80; server_name site1.test.com; root /var/wwwroot/site1; index index.html; location / { } } server { list
-
Nginx图片防盗链配置实例
做运维的朋友经常会有一些烦恼,比如网站总是被人抄袭,比如网站总是被人引用上面的图片,虽然一张图两张图,并不耗费很多流量,但一旦引用的人多了,这个还是比较废流量的. 防盗链就是禁止其他网站引用自己网站资源而做的一系列设置,优点就不需要说了,绝多数就是防止资源浪费,特别是有宽带.流量限制的空间如果不做一些 限制可能就光引用自己网站图片.视频等等资源可能会消耗很大一部分流量.本文就简单的说一下在nginx服务器上如何做防盗链设置. nginx防盗链代码 第1步:下载nginx网站配置文件. 有些网友可
-
Nginx配置防盗链的完整步骤
需求: 通常站点,都会想让自己网站的视频和图片,免被盗用,毕竟视频流量,花的都是白花花银子(土豪可以不用考虑)~~. 一.单刀直入,先上nginx配置文件 server { listen 80; server_name www.test.com; root /data/web/; index index.php index.html; access_log /data/logs/nginx/biao.madacode.access.log main; location /{ root /home
-
nginx配置防盗链的三种实现方式总结
目录 什么是资源盗链 一.引导案例 二.Nginx防盗链实现原理 三.Nginx防盗链具体实现 实现方式一 实现方式二 实现方式三 总结 什么是资源盗链 资源盗链是指内容不在自己服务器上,而通过技术手段,绕过别人的限制,将别人的内容,比如热门的图片放到自己页面上,展示给用户,以此来盗取别人网站的流量,即蹭流量. 简而言之就是用别人的东西成就自己的网站 如下,分别在网上找的两个图片,可以直接在浏览器中打开这2个链接 一.引导案例 接下来,利用上面的这两个图片链接,我们在nginx的资源目录下,创建
-
nginx网站服务如何配置防盗链(推荐)
一.盗链原理 1.1 网页准备 Web源主机(192.168.153.20)配置 cd /usr/local/nginx/html 将preview.jpg图片文件传到/usr/local/nginx/html目录下 vim index.html ...... <img src="preview.jpg"/> </body> </html> echo "192.168.153.20 www.wt.com" >> /et
-
Linux中Nginx的防盗链和优化的实现代码
隐藏版本号 未隐藏版本号,为了提高安全性,需要对版本号进行隐藏. 隐藏版本号实验 cd /usr/local/nginx/ ### 编辑配置文件 vim conf/nginx.conf 修改用户组 主进程使用root,子进程则通过nginx用户 vim conf/nginx.conf ### 指定用户组 user nginx nginx: 设置缓存时间 ### 被修改的配置文件 vim conf/nginx.conf 日志切割 下面就是日志分割脚本 #!/bin/bash day=$(date
-
阿里云windows server2019配置FTP服务的完整步骤
1.在windowsserver菜单中打开服务器管理器 2. 在快速启动仪表盘中选择配置角色服务 3. 直接下一步 4. 选择基于角色或基于功能的安装,下一步 5. 选择要配置ftp服务的服务器,下一步 6. 选择Web服务器下面的选项 7. 功能选项里网上有些帖子说需要选,但是我看没有ftp相关的功能,所以我就没选,直接安装 安装完成后打开windowsserver菜单,选择windows管理工具 打开iis服务 鼠标右键服务器名称,选择添加ftp站点 填写ftp站点名称和服务路径 ip选择未
-
nginx从安装到配置详细说明(安装,安全配置,防盗链,动静分离,配置 HTTPS,性能优化)
一.服务器基础配 置 远程链接服务器 ssh 用户名@公网ip 默认的用户名是root,假如公网 ip 是 a.b.c.d, 那链接命名就是 ssh root@a.b.c.d 下载安装基础库 yum -y install gcc gcc-c++ autoconf pcre pcre-devel make automake yum -y install wget httpd-tools vim 关闭 iptables 查看iptables规则 iptables -L 或 iptables -t n
-
centos服务器下nginx图片防盗链设置方法
做运维的朋友经常会有一些烦恼,比如网站总是被人抄袭,比如网站总是被人引用上面的图片,虽然一张图两张图,并不耗费很多流量,但一旦引用的人多了,这个还是比较废流量的. 防盗链就是禁止其他网站引用自己网站资源而做的一系列设置,优点就不需要说了,绝多数就是防止资源浪费,特别是有宽带.流量限制的空间如果不做一些 限制可能就光引用自己网站图片.视频等等资源可能会消耗很大一部分流量.本文就简单的说一下在nginx服务器上如何做防盗链设置. 第1步:下载nginx网站配置文件. 有些网友可能是直接到服务器中使用
-
nginx配置虚拟主机的详细步骤
虚拟主机使用的是特殊的软硬件技术,它把一台运行在因特网上的服务器主机分成一台台"虚拟"的主机,每台虚拟主机都可以是一个独立的网站,可以具有独立的域名,具有完整的Intemet服务器功能(WWW.FTP.Email等),同一台主机上的虚拟主机之间是完全独立的.从网站访问者来看,每一台虚拟主机和一台独立的主机完全一样. 利用虚拟主机,不用为每个要运行的网站提供一台单独的Nginx服务器或单独运行一组Nginx进程.虚拟主机提供了在同一台服务器.同一组Nginx进程上运行多个网站的功能. 配
随机推荐
- RPC、RMI、SOAP的区别详解
- angular.js中解决跨域问题的三种方式
- 高速HTTP代理列表
- 计算机中数的表示
- C++类模板与模板类深入详解
- spring之Bean的生命周期详解
- Myeclipse 2016下Aptana安装教程
- ASP.NET Table 表格控件的使用方法
- 判断滚动条到底部的JS代码
- js基于qrcode.js生成二维码的方法【附demo插件源码下载】
- ubuntu如何安装中文输入法
- c语言printf函数的使用详解
- 详解C# partial 关键字的使用
- List all the Databases on a SQL Server
- list的4种遍历方式(实例讲解)
- SQLSERVER编译与重编译发生场景及重用的利弊介绍
- EasyUI中实现form表单提交的示例分享
- java文件上传下载功能实现代码
- spring mybatis多数据源实例详解
- 一个简洁的多级别论坛