nginx盗链与防盗链,nginx的平滑升级

2023-11-07 18:10

本文主要是介绍nginx盗链与防盗链,nginx的平滑升级,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

盗链

实现目标:server2盗链server1www.westos.org下的图片资源

server1上:
注释掉之前的所有重定向模块

[root@server1 ~]# cd /usr/local/lnmp/nginx/conf/
[root@server1 conf]# vi nginx.conf
server {listen 80;server_name www.westos.org bbs.westos.org;#rewrite ^/(.*)$ https://www.westos.org/$1 permanent;#rewrite ^/bbs$ http://bbs.westos.org permanent;#rewrite ^/bbs/(.*)$ http://bbs.westos.org/$1 permanent;#if ($host = "bbs.westos.org") {   #$host : 请求主机头字段,否则为服务器名称#       rewrite ^/(.*)$ http://www.westos.org/bbs/$1 permanent;#}location / {root    /web;index   index.html;}
}[root@server1 conf]# cd /web
[root@server1 web]# ls
index.html  vim.jpg ##图片
[root@server1 ~]# nginx -s reload

server2上:

[root@server2 ~]# cd /usr/local/nginx/conf/
[root@server2 conf]# vi nginx.conf
server {listen 80;server_name daolian.westos.org;charset utf-8;  #不加这个参数网页上看到的汉字是乱码location / {root    /web;index   index.html;}
}[root@server2 ~]# mkdir /web
[root@server2 ~]# cd /web
[root@server2 ~]# vim /web/index.html<html><body>
<br>盗链图片</br>
<img src="http://www.westos.org/vim.jpg"></body></html>
[root@server2 ~]# nginx -s reload

客户端:
配置域名解析

[kiosk@foundation34 ~]$ vi /etc/hosts
172.25.34.3 daolian.westos.org

测试:
浏览器上访问daolian.westos.org,可以访问的到图片资源
在这里插入图片描述

防盗链

server1:
站点模块中加入


```css
[root@server1 web]# cd /usr/local/lnmp/nginx/conf/
[root@server1 conf]# vi nginx.conf
server {listen 80;server_name www.westos.org bbs.westos.org;#rewrite ^/(.*)$ https://www.westos.org/$1 permanent;#rewrite ^/bbs$ http://bbs.westos.org permanent;#rewrite ^/bbs/(.*)$ http://bbs.westos.org/$1 permanent;#if ($host = "bbs.westos.org") {   #$host : 请求主机头字段,否则为服务器名称#       rewrite ^/(.*)$ http://www.westos.org/bbs/$1 permanent;#}location / {root    /webindex   index.html;}location ~* \.(gif|jpg|png|jpeg)$ {  ##防盗链模块root    /web;valid_referers none blocked www.westos.org;if ($invalid_referer) {return 403;#rewrite ^/(.*)$ http://bbs.westos.org/daolian.jpg; #防盗链优化模块,如果是盗链,则重定向}
}
[root@server1 ~]# nginx -s reload

**测试:**
-
浏览器上访问daolian.westos.org,访问不到资源
![在这里插入图片描述](https://img-blog.csdnimg.cn/20191019224705797.png)
**nginx的平滑升级**
-
这篇文章对于平滑升级讲解十分清楚,建议参考
https://blog.csdn.net/qq_42036824/article/details/87868665注意:
平滑升级再次编译时不用make && make install 直接make 否则所有的配置文件也会重改
之前版本的配置文件中添加的模块,因为版本升级时重新编译过了,这些模块要不删除,要不补全加入该模块所需要的前提条件,例如在配置文件中添加ssl模块,前提需要有加密文件,但是因为重新编译,加密文件不存在,如果要重启新的版本,不更改会启动失败。

这篇关于nginx盗链与防盗链,nginx的平滑升级的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/365395

相关文章

Nginx部署HTTP/3的实现步骤

《Nginx部署HTTP/3的实现步骤》本文介绍了在Nginx中部署HTTP/3的详细步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录前提条件第一步:安装必要的依赖库第二步:获取并构建 BoringSSL第三步:获取 Nginx

Debian 13升级后网络转发等功能异常怎么办? 并非错误而是管理机制变更

《Debian13升级后网络转发等功能异常怎么办?并非错误而是管理机制变更》很多朋友反馈,更新到Debian13后网络转发等功能异常,这并非BUG而是Debian13Trixie调整... 日前 Debian 13 Trixie 发布后已经有众多网友升级到新版本,只不过升级后发现某些功能存在异常,例如网络转

Web服务器-Nginx-高并发问题

《Web服务器-Nginx-高并发问题》Nginx通过事件驱动、I/O多路复用和异步非阻塞技术高效处理高并发,结合动静分离和限流策略,提升性能与稳定性... 目录前言一、架构1. 原生多进程架构2. 事件驱动模型3. IO多路复用4. 异步非阻塞 I/O5. Nginx高并发配置实战二、动静分离1. 职责2

Ubuntu如何升级Python版本

《Ubuntu如何升级Python版本》Ubuntu22.04Docker中,安装Python3.11后,使用update-alternatives设置为默认版本,最后用python3-V验证... 目China编程录问题描述前提环境解决方法总结问题描述Ubuntu22.04系统自带python3.10,想升级

解决升级JDK报错:module java.base does not“opens java.lang.reflect“to unnamed module问题

《解决升级JDK报错:modulejava.basedoesnot“opensjava.lang.reflect“tounnamedmodule问题》SpringBoot启动错误源于Jav... 目录问题描述原因分析解决方案总结问题描述启动sprintboot时报以下错误原因分析编程异js常是由Ja

Nginx中配置使用非默认80端口进行服务的完整指南

《Nginx中配置使用非默认80端口进行服务的完整指南》在实际生产环境中,我们经常需要将Nginx配置在其他端口上运行,本文将详细介绍如何在Nginx中配置使用非默认端口进行服务,希望对大家有所帮助... 目录一、为什么需要使用非默认端口二、配置Nginx使用非默认端口的基本方法2.1 修改listen指令

解决Nginx启动报错Job for nginx.service failed because the control process exited with error code问题

《解决Nginx启动报错Jobfornginx.servicefailedbecausethecontrolprocessexitedwitherrorcode问题》Nginx启... 目录一、报错如下二、解决原因三、解决方式总结一、报错如下Job for nginx.service failed bec

MySQL按时间维度对亿级数据表进行平滑分表

《MySQL按时间维度对亿级数据表进行平滑分表》本文将以一个真实的4亿数据表分表案例为基础,详细介绍如何在不影响线上业务的情况下,完成按时间维度分表的完整过程,感兴趣的小伙伴可以了解一下... 目录引言一、为什么我们需要分表1.1 单表数据量过大的问题1.2 分表方案选型二、分表前的准备工作2.1 数据评估

Nginx添加内置模块过程

《Nginx添加内置模块过程》文章指导如何检查并添加Nginx的with-http_gzip_static模块:确认该模块未默认安装后,需下载同版本源码重新编译,备份替换原有二进制文件,最后重启服务验... 目录1、查看Nginx已编辑的模块2、Nginx官网查看内置模块3、停止Nginx服务4、Nginx

通过配置nginx访问服务器静态资源的过程

《通过配置nginx访问服务器静态资源的过程》文章介绍了图片存储路径设置、Nginx服务器配置及通过http://192.168.206.170:8007/a.png访问图片的方法,涵盖图片管理与服务... 目录1.图片存储路径2.nginx配置3.访问图片方式总结1.图片存储路径2.nginx配置