Nginx配置防盗链的完整步骤

 更新时间:2019年08月25日 09:06:31   作者:Tom-时光  
这篇文章主要给大家介绍了关于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/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 多站点配置实例详解

    Nginx 多站点配置实例详解

    这篇文章主要介绍了Nginx 多站点配置实例详解的相关资料,需要的朋友可以参考下
    2017-03-03
  • nginx+lua+redis实现降级的示例代码

    nginx+lua+redis实现降级的示例代码

    随着用户访问量的激增,网站或电商平台可能会面临系统超负载的问题,导致注册、下单、支付等功能出现问题,为保障核心服务的高可用性,可以采用降级策略,本文就来介绍一下nginx+lua+redis降级,感兴趣的可以了解学习
    2024-10-10
  • Nginx代理中使用斜杠的区别小结

    Nginx代理中使用斜杠的区别小结

    在使用nginx代理的过程中,斜线是一个非常重要的符号,因为它涉及到了请求路径的匹配问题,本文主要介绍了Nginx代理中使用斜杠的区别小结,感兴趣的可以了解一下
    2023-09-09
  • nginx 配置location匹配规则实例讲解

    nginx 配置location匹配规则实例讲解

    在本篇文章里小编给大家整理的是关于nginx 配置location匹配规则实例讲解内容,需要的朋友们学习下。
    2020-03-03
  • 详解在使用CDN加速时Nginx获取用户IP的配置方法

    详解在使用CDN加速时Nginx获取用户IP的配置方法

    这篇文章主要介绍了在使用CDN加速时Nginx服务器获取用户IP的方法,文中针对PHP站点环境举例来讲,需要的朋友可以参考下
    2016-02-02
  • 使用Kubernetes部署Springboot或Nginx的详细教程

    使用Kubernetes部署Springboot或Nginx的详细教程

    这篇文章主要介绍了用Kubernetes部署Springboot或Nginx的详细教程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-07-07
  • 详解Nginx 虚拟主机配置的三种方式(基于IP)

    详解Nginx 虚拟主机配置的三种方式(基于IP)

    Nginx配置虚拟主机支持3种方式主要有基于IP的虚拟主机配置,基于端口的虚拟主机配置,基于域名的虚拟主机配置。本文主要介绍了基于IP配置的实现,感兴趣的小伙伴们可以参考一下
    2018-10-10
  • ubuntu中如何使用nginx监听80端口进行转发

    ubuntu中如何使用nginx监听80端口进行转发

    这篇文章主要介绍了ubuntu中如何使用nginx监听80端口进行转发问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-06-06
  • 一文弄懂Nginx热升级

    一文弄懂Nginx热升级

    Nginx热升级指服务不中断情况下用新的Nginx二进制文件替换老的Nginx二进制文件,本文就来介绍一下Nginx热升级,感兴趣的可以了解一下
    2024-05-05
  • Nginx下将http改为https的操作步骤

    Nginx下将http改为https的操作步骤

    HTTPS是HTTP协议的安全版本,通过使用SSL(安全套接层)或TLS(传输层安全)协议加密通信,为数据传输提供了保密性、完整性和身份认证,本文给大家介绍了Nginx下将http改为https的操作方法,需要的朋友可以参考下
    2024-08-08

最新评论