nginx如何实现配置静态资源服务器及防盗链

 更新时间:2023年11月27日 09:27:31   作者:chenglei1208  
这篇文章主要为大家介绍了nginx实现配置静态资源服务器及防盗链步骤详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

首先我们聊聊什么是图片盗链?

盗链指的是其他网站不经过你的许可直接通过链接使用你网站上的资源,从而消耗你的带宽和资源,这不仅会影响你网站的性能,还有可能会导致资源被滥用。

简单来说,直接从你的网站上右键复制链接,粘贴到他自己的网站使用,实际请求的是你的服务器。

之前我们分享过服务端实现静态资源防盗链的方式,前置文章:其实,图片防盗链的实现如此简单

在文章结尾我们也留了一种方案,就是使用nginx实现防盗链,服务端方案适合小型且并发不高的网站、性能一般,而Nginx专门为性能优化而开发,性能是最重要的考量,非常注重效率,Nginx能够支持高达50000个并发连接响应数。

今天我们就来说说nginx如何实现配置静态资源服务器及防盗链实现

nginx配置静态资源服务器及防盗链

首先准备一张防盗链提示图片(来源于百度)

盗链提示图片

言归正传

1、在nginx安装目录的html下创建res目录

将上述图片上传至此,可以直接访问到,将此图片作为盗链提示

2、配置静态资源服务器

小白的图片资源存放于服务器的/root/cxs-sys-currency-upload/upload/images目录下

server {
     # 监听端口及其他配置项......

     # 静态资源服务配置
     location /server/upload/  {
          alias /root/cxs-sys-currency-upload/upload/images/;

          valid_referers none *.cxs.plus cxs.plus;
          if ( $invalid_referer ) {
               # 如不满足,指定访问如下资源
               rewrite ^/ https://www.cxs.plus/res/1.jpg;
               return 403;
          }
     }
     # 其他配置项......
}

语法说明

valid_referers none | blocked | server_names | strings ….;

--none:允许没有http_refer的请求访问资源,检测 Referer 头域不存在的情况,则可以访问。

--blocked:检测 Referer 头域的值被防火墙或者代理服务器删除或伪装的情况。

--server_names :只允许指定ip/域名来的请求访问资源(白名单)。可设置一个或多个 URL ,检测 Referer 头域的值是否是这些 URL 中的某一个。在生产环境中尽量使用域名,不使用ip。

3、重新启动nginx后,使用postman进行测试

添加Referer为www.cxs.plus测试,可以访问

使用其他域名测试,返回盗链提示图片

结语

以上就是Nginx实现静态资源防盗链的方案,快去给你的系统加上吧!

更多关于Nginx配置静态资源防盗链 的资料请关注脚本之家其它相关文章!

相关文章

  • Nginx 负载均衡是什么以及该如何配置

    Nginx 负载均衡是什么以及该如何配置

    这篇文章主要介绍了Nginx 负载均衡是什么以及该如何配置,帮助大家更好的理解和使用Nginx服务器,感兴趣的朋友可以了解下
    2021-01-01
  • windows下nginx服务关不掉问题解决

    windows下nginx服务关不掉问题解决

    这篇文章主要给大家介绍了关于windows下nginx服务关不掉问题解决的相关资料,nginx是一种网络服务器,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-08-08
  • nginx php-fpm环境中chroot功能的配置使用方法

    nginx php-fpm环境中chroot功能的配置使用方法

    这篇文章主要介绍了nginx php-fpm环境中chroot功能的配置使用方法,此方法是比禁用PHP敏感函数更好的一个安全防护手手段,需要的朋友可以参考下
    2014-05-05
  • Nginx常用功能详解

    Nginx常用功能详解

    NGiNX 是个非常优秀的HTTP 服务器软件,可以通过设置有实现许多功能,如目录保护、IP访问限制、防盗链、下载限速及设置多域名等等
    2014-07-07
  • CentOS下 安装 Nginx的方法

    CentOS下 安装 Nginx的方法

    这篇文章主要介绍了CentOS下 安装 Nginx的方法,本文内容简单,通过实例代码给大家讲解的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-12-12
  • 浅谈一下Nginx性能优化

    浅谈一下Nginx性能优化

    这篇文章主要介绍了Nginx性能优化,Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务,需要的朋友可以参考下
    2023-04-04
  • nginx+apache+mysql+php+memcached+squid搭建集群web环境

    nginx+apache+mysql+php+memcached+squid搭建集群web环境

    当前,LAMP开发模式是WEB开发的首选,如何搭建一个高效、可靠、稳定的WEB服务器一直是个热门主题,本文就是这个主题的一次尝试。
    2011-03-03
  • Nginx 安装笔记(含PHP支持、虚拟主机、反向代理负载均衡)

    Nginx 安装笔记(含PHP支持、虚拟主机、反向代理负载均衡)

    Nginx安装简记(含PHP支持、虚拟主机、反向代理负载均衡) Nginx,据说高性能和稳定性比Apache还牛,并发连接处理能力强,低系统资源消耗。目前已有250多万web站点在使用
    2009-10-10
  • 一文搞懂Nginx限流(简单实现)

    一文搞懂Nginx限流(简单实现)

    这篇文章主要介绍了一文搞懂Nginx限流(简单实现),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-05-05
  • 详解如何基于Nginx搭建流媒体服务器

    详解如何基于Nginx搭建流媒体服务器

    Nginx RTMP是一个Nginx插件,支持将RTMP和HLS流添加到媒体服务器,本文将以ubuntu为例为大家介绍一下如何安装使用nginx Rtmp 插件的步骤,需要的可以参考下
    2023-10-10

最新评论