Nginx防盗链:资源保护新利器,拒绝盗链行为!

点击下方关注我,然后右上角点击...“设为星标”,就能第一时间收到更新推送啦~~~

Nginx防盗链是一种安全机制,用于防止其他网站直接链接到你的网站上的资源(如图片、视频、文件等),从而避免不必要的带宽消耗和潜在的安全风险。当其他网站直接链接到你的资源时,这些请求会经过你的服务器,消耗你的带宽资源,并可能暴露你的服务器信息。通过配置Nginx防盗链,你可以限制只有来自特定域名的请求才能访问你的资源。

1

防盗链演示

7c1334e38b2b12949a2127abcb93e1bf.png

防盗链就是指别人的网站不可以访问我们自己网站的js,css,图片等静态资源,第一,图片有版权,我们不希望别人引用,第二,别人引用了我们的地址,消耗的是我们网站的流量,因为很多网站买的是云服务,是按流量收费的,如果不加防盗链的限制,会提升我们的运营成本,所以一个网站最好要考虑防盗链配置。

  1. 为了做防盗链的演示,修改Tomcat1的/data/program/tomcat8/webapps/ROOT目录下的index.jsp,把Tomcat图片改成访问Nginx代理服务器里的静态图片资源,代码如下:

    <img src="http://192.168.1.8/tomcat.png" alt="[tomcat logo]" />

    如图:

    3a74855e631ffa847cd0e996deecbd77.jpeg

  2. 访问Tomcat1的地址http://192.168.1.9:8080,如果没有防盗链配置,则可以访问到Nginx服务器上的静态Tomcat图标,如下:

    1eac72063f6b1612fb3863b1e80f0214.jpeg

  3. 修改/data/program/nginx/conf/userconf目录下的proxy.conf配置,通过valid_referers设置解决防盗链问问题,让除了192.168.1.8IP以外的服务器不能访问Nginx服务器上的静态资源

    upstream tomcat8 {server 192.168.1.9:8080;server 192.168.1.10:8080;
    }server{listen 80;server_name localhostdomin;location / {proxy_pass http://tomcat8;add_header 'Access-Control-Allow-Origin' '*';add_header 'Access-Control-Allow-Methods' 'GET,POST,DELETE';add_header 'Access-Control-Allow-Header' 'Content-Type,*';}location ~* .+\.(js|css|png|svg|ico|jpg)$ {valid_referers none blocked 192.168.1.8;          if ($invalid_referer){return 404;}root static_resource;expires 1d;}  
    }

    如下图:

    5b718c2b1f2394c9d759c7ebdabdbee9.png

  4. 保存配置,重启Nginx服务器,再次访问Tomcat1的地址http://192.168.1.9:8080,因为上面设置了防盗链配置,因此不能访问到Nginx服务器上的静态Tomcat图标,如下:

    a8f352aa231413b3b26a4f0636e3f598.jpeg

以上就是防盗链产生了作用,导致192.168.1.9服务器部署的应用不可以访问192.168.1.8的图片。

注:192.168.1.9模拟的是别人的网站,192.168.1.8模拟自己的网站。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/1327.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

P1278 单词游戏 简单搜索+玄学优化

单词游戏 传送门 题目描述 Io 和 Ao 在玩一个单词游戏。 他们轮流说出一个仅包含元音字母的单词&#xff0c;并且后一个单词的第一个字母必须与前一个单词的最后一个字母一致。 游戏可以从任何一个单词开始。 任何单词禁止说两遍&#xff0c;游戏中只能使用给定词典中含有…

XiaodiSec day027 Learn Note 小迪渗透学习笔记

XiaodiSec day027 Learn Note 小迪渗透学习笔记 记录得比较凌乱&#xff0c;不尽详细 27day 还是 sql 知识点 数据类型注入&#xff1a; 数字型&#xff0c;字符型&#xff0c;搜索型&#xff0c;加密型 开始 数字型 数字型是 0-9 字符型 字符型是 a-z 等 在接收 sql …

Linux 操作系统指令和Vscdoe安装

1、Linux系统介绍 Linux系统的背景介绍我就不介绍了&#xff0c;有兴趣的可以去看看其发展史。 1.1 Linux操作系统的主要特点 Linux操作系统的重要思想&#xff1a;一切皆文件 Linux操作系统的特性&#xff1a; 完全免费 支持多平台 支持多用户、多任务 有良好的界面 完美兼容…

在QT中使用QTableView与数据库连接

一、界面与数据库连接&#xff0c;使用QSqlTableModel对数据处理 //界面初始化 void TestProSetWid::initsqlmodel() {// 连接SQLite数据库db QSqlDatabase::addDatabase("QSQLITE","second");db.setDatabaseName("./testitem.db"); // 替换为…

深度剖析“字符串与数组、指针”的关系

一、字符串的结构 字符串由字符组成&#xff0c;把一个个字符串起来就构成了字符串。 字符串的基本结构如下所示。 字符 ‘H’ ‘e’ ‘l’ ‘l’ ‘o’ ‘\0’ 字符串 “Hello” 字符串的格式规范&#xff1a; ①使用时需加双引号。 ②字符串最后一个字符为’\0…

Python基础:【练手小实验系列】个人财务管理系统

文章目录 题目功能解析参考代码题目 设计并实现一个简易的个人财务管理系统,功能如下: 1.收入记录:允许用户输入收入的金额和来源,记录当前总收入; 2.支出记录:允许用户输入支出的金额和用途,记录当前总支出; 3.财务汇总:显示目前的总收入、总支出和净余额; 4.条件查…

【Rust】——项目实例:命令行实例(二)

&#x1f4bb;博主现有专栏&#xff1a; C51单片机&#xff08;STC89C516&#xff09;&#xff0c;c语言&#xff0c;c&#xff0c;离散数学&#xff0c;算法设计与分析&#xff0c;数据结构&#xff0c;Python&#xff0c;Java基础&#xff0c;MySQL&#xff0c;linux&#xf…

SpringSecurity集成JWT

使用 Spring Security 集成 JWT&#xff08;JSON Web Token&#xff09;身份验证是一种常见的方式来实现基于令牌的身份验证。在 Spring Boot 应用程序中使用 Spring Security 和 JWT&#xff0c;可以创建一个安全、可扩展的身份验证系统。下面是一个示例&#xff0c;展示如何在…

温湿度LCD显示并上传服务器

项目需求 通过温湿度传感器将值传到LCD1602&#xff0c;并实时通过蓝牙透传到手机。 硬件介绍 温湿度传感器 DHT11温湿度传感器 DHT11_温湿度传感器数据格式-CSDN博客 LCD1602LCD1602-CSDN博客 HC-01 继电器模块 硬件接线 LCD1602 D0~D7 --> A0~A7VDD, A --> 5v…

STM32H750外设ADC之双重 ADC 模式

目录 概述 1 双重 ADC 模式介绍 1.1 双重 ADC模式 1.2 双重 ADC 模式的类型 2 双重 ADC 模式寄存器的配置 3 模式功能实现 3.1 注入同步模式 3.2 支持独立注入的常规同步模式 3.2.1 中断的方式 3.2.2 DMA 读取常规数据 3.3 支持独立注入的交替模式 3.3.1 中断触发…

色彩的魔力:渐变色在设计中的无限可能性

夕阳&#xff0c;天空&#xff0c;湖面&#xff0c;夕阳...随着距离和光影的变化&#xff0c;颜色的渐变色&#xff0c;近大远小、近实远虚的透视&#xff0c;为大自然营造了浪漫的氛围。延伸到UI/UX设计领域&#xff0c;这种现实、惊艳、独特的渐变色也深受众多设计师的喜爱。…

setmapAVL树红黑树

目录 关联式容器树形结构的关联式容器setset的模板参数列表set的构造函数set的迭代器set的容量操作set其他操作 multisetmap键值对map的模板参数列表map的迭代器map中元素的修改map的容量与元素访问 multimap底层结构avl树avl树概念AVL树结点的定义AVL树的插入AVL树的旋转AVL树…

python-flask结合bootstrap实现网页小工具实例-半小时速通版

参考&#xff1a; Python之flask结合Bootstrap框架快速搭建Web应用_支持bootstrap的python软件-CSDN博客 https://blog.csdn.net/lovedingd/article/details/106696832 Bootstrap 警告框 | 菜鸟教程 https://www.runoob.com/bootstrap/bootstrap-alert-plugin.html flask框架…

数据结构——7.3 树形查找

7.3 树形查找 概念 二叉排序树&#xff08;BST&#xff09; 二叉排序树&#xff08;Binary Sort Tree&#xff0c;BST&#xff09;&#xff0c;又称为二叉查找&#xff08;搜索&#xff09;树&#xff08;Binary Search Tree&#xff09;&#xff0c;是一种特殊的二叉树&am…

FreeLearning C/C++ 译文集翻译完成

C 高级编程C 高级编程秘籍Qt Creator 应用开发C 游戏编程入门指南C 编程入门指南Boost.Asio C 网络编程Boost C 应用开发秘籍第二版C 数据结构与算法设计原理C Qt5 GUI 编程C 高性能编程C 反应式编程C 系统编程秘籍C 研讨会C 现代嵌入式编程秘籍C 专家编程&#xff1a;成为熟练…

Android,判断是否快速点击

问题背景 在Android控件中,如果快速点击容易造成一些不同的bug,尤其是那种在click事件中方有耗时操作的代码,容易引起anr,并且有些性能低的机器,在用户点击多次控件的时候很容易出现问题,在车机中也会导致回弹的一系列问题(这里面包括get到的信号导致回弹),针对于这种…

力扣---从前序与中序遍历序列构造二叉树

给定两个整数数组 preorder 和 inorder &#xff0c;其中 preorder 是二叉树的先序遍历&#xff0c; inorder 是同一棵树的中序遍历&#xff0c;请构造二叉树并返回其根节点。 示例 1: 输入: preorder [3,9,20,15,7], inorder [9,3,15,20,7] 输出: [3,9,20,null,null,15,7]示…

Rust常用特型之Borrow和BorrowMut特型

在Rust标准库中&#xff0c;存在很多常用的工具类特型&#xff0c;它们能帮助我们写出更具有Rust风格的代码。 std::borrow::Borrow和AsRef有点相似&#xff0c;如果一个类型实现了Borrow<T>&#xff0c;那么你可以从它的borrow函数里高效的借出一个&T。但是Borrow施…

synchronized和ReentrantLock傻傻分不清楚

synchronized和ReentrantLock都是用于线程间同步的机制&#xff0c;都是可重入锁&#xff08;同一个线程可以多次获取同一个锁&#xff09;&#xff0c;它们的异同点如下&#xff1a; 一、应用场景 1.synchronized可应用于实例方法、静态方法和代码块。 2.ReentrantLock 是 jav…

使用Docker搭建Redis主从集群

文章目录 ☃️前言☃️搭建❄️❄️架构❄️❄️实例说明❄️❄️搭建第一个服务器上的两个实例❄️❄️搭建第二个服务器上的一个实例 ☃️开启主从❄️❄️改配置❄️❄️重启从节点 ☃️验证 ☃️前言 单节点 Redis 的并发能力是有上限的&#xff0c;要进一步提高Redis的并…