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文件上传下载控制的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-12-12
  • 详解Linux环境下使Nginx服务器支持中文url的配置流程

    详解Linux环境下使Nginx服务器支持中文url的配置流程

    这篇文章主要介绍了Linux环境下使Nginx服务器支持中文url的配置流程,文中还介绍了一个在Linux下将非UTF-8的文件名转换为UTF-8编码,的方法,需要的朋友可以参考下
    2016-04-04
  • nginx反向代理后无限重定向的问题解决方法

    nginx反向代理后无限重定向的问题解决方法

    这篇文章主要为大家介绍了nginx反向代理后无限重定向的问题解决方法详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-08-08
  • nginx实现静态文件的token认证过程

    nginx实现静态文件的token认证过程

    这篇文章主要介绍了nginx实现静态文件的token认证过程,
    2024-06-06
  • Nginx实现灰度发布的常见方法小结

    Nginx实现灰度发布的常见方法小结

    Nginx 就像是一个智能的交通指挥员,它位于用户请求和后端服务之间,负责对请求进行分发和管理,在灰度发布中,Nginx 可以根据我们设定的规则,这篇文章给大家介绍了Nginx实现灰度发布的常见方法小结,需要的朋友可以参考下
    2024-07-07
  • Nginx端口被占用的解决方案(systemctl restart nginx失败)

    Nginx端口被占用的解决方案(systemctl restart nginx失败)

    ginx (engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器,它也是一种轻量级的Web服务器,可以作为独立的服务器部署网站(类似Tomcat),本文给大家介绍了NGINX启动报错,端口被占用解决方案,需要的朋友可以参考下
    2024-10-10
  • Nginx服务器如何设置url链接

    Nginx服务器如何设置url链接

    这篇文章主要介绍了Nginx服务器如何设置url链接,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-10-10
  • nginx 代理后出现503的解决方法

    nginx 代理后出现503的解决方法

    本文主要介绍了nginx 代理后出现503的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • Nginx 配置过程的具体步骤

    Nginx 配置过程的具体步骤

    这篇文章主要介绍了Nginx 配置过程的详细介绍的相关资料,希望通过本文能帮助到大家,让大家掌握如何配置Nginx,需要的朋友可以参考下
    2017-10-10
  • nginx配置多域名共用服务器80端口

    nginx配置多域名共用服务器80端口

    本文主要介绍了配置Nginx.conf文件,使得同一台服务器上的服务程序能够根据域名分发到相应的端口进行处理,从而实现用户通过abc.com或xyz.com直接访问到不同“网站”,感兴趣的可以了解一下
    2025-03-03

最新评论