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 可以借助split_clients指令或通过 weight 参数以及 Lua 脚本实现流量按比例转发,下面小编就为大家介绍一下两种方式具体的操作步骤吧
    2025-03-03
  • Nginx常用功能详解

    Nginx常用功能详解

    NGiNX 是个非常优秀的HTTP 服务器软件,可以通过设置有实现许多功能,如目录保护、IP访问限制、防盗链、下载限速及设置多域名等等
    2014-07-07
  • Nginx虚拟主机的六种配置(最全)

    Nginx虚拟主机的六种配置(最全)

    利用虚拟主机,不用为每个要运行的网站提供一台单独的Nginx服务器或单独运行一组Nginx进程,本文主要介绍了Nginx虚拟主机的六种配置,具有一定的参考价值,感兴趣的可以了解下
    2023-08-08
  • Nginx实现静态资源的反向代理实例

    Nginx实现静态资源的反向代理实例

    这篇文章主要介绍了Nginx实现静态资源的反向代理实例,本文通过分析github发现这个应用,可以避免在https的网站中出现http链接,需要的朋友可以参考下
    2015-03-03
  • nginx处理http请求实现过程解析

    nginx处理http请求实现过程解析

    这篇文章主要介绍了nginx处理http请求实现过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • Nginx rewrite和proxy_pass的区别及说明

    Nginx rewrite和proxy_pass的区别及说明

    这篇文章主要介绍了Nginx rewrite和proxy_pass的区别及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-06-06
  • 基于Nginx实现HTTPS网站设置的步骤

    基于Nginx实现HTTPS网站设置的步骤

    本文主要介绍了Nginx实现HTTPS网站设置的步骤,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-08-08
  • Nginx 日志轮转的实现示例

    Nginx 日志轮转的实现示例

    Nginx日志轮转是监控和调试Web服务器的重要工具,通过定期归档、压缩和清理日志文件,可以节省磁盘空间、提高性能并方便故障排查,下面就来介绍一下
    2024-12-12
  • 关于多级缓存使用(nginx本地缓存、JVM进程缓存、redis缓存)

    关于多级缓存使用(nginx本地缓存、JVM进程缓存、redis缓存)

    这篇文章主要介绍了关于多级缓存使用(nginx本地缓存、JVM进程缓存、redis缓存),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-08-08
  • Nginx的信号控制

    Nginx的信号控制

    今天小编就为大家分享一篇关于Nginx的信号控制,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-10-10

最新评论