如何配置Nginx的防盗链
发布时间 - 2023-05-12 00:00:00 点击率:次实验环境
•一台最小化安装的centos 7.3虚拟机
•配置:1核心/512mb
•nginx版本1.12.2
一、配置盗链网站
1.启动一台nginx虚拟机,配置两个网站
vim /etc/nginx/conf.d/vhosts.conf
添加以下内容
server {
listen 80;
server_name site1.test.com;
root /var/wwwroot/site1;
index index.html;
location / {
}
}
server {
listen 80;
server_name site2.test.com;
root /var/wwwroot/site2;
index index.html;
location / {
}
}
2.在宿主机编辑c:\windows\system32\drivers\etc\hosts文件
192.168.204.11 site1.test.com
192.168.204.11 site2.test.com
3.创建网站根目录
mkdir /var/wwwroot cd /var/wwwroot mkdir site1 mkdir site2 echo -e "site1
@@##@@" >> site1/index.html echo -e "site2
@@##@@" >> site2/index.html
4.将1.jpg上传到/var/wwwroot/site1目录
5.启动nginx服务
systemctl restart nginx netstat -anpt | grep nginx
6.防火墙放通80端口
setenforce 0 firewall-cmd --zone=public --add-port=80/tcp --permanent firewall-cmd --reload
7.在宿主机访问
二、配置site1.test.com防盗链
1.编辑nginx配置文件
server {
listen 80;
server_name site1.test.com;
root /var/wwwroot/site1;
index index.html;
location / {
}
location ~ \.(jpg|png|gif|jpeg)$ {
valid_referers site1.test.com;
if ($invalid_referer) {
return 403;
}
}
}
server {
listen 80;
server_name site2.test.com;
root /var/wwwroot/site2;
index index.html;
location / {
}
}
2.重启nginx服务
systemctl restart nginx
3.在宿主机访问
清除浏览器缓存,访问
清除浏览器缓存,访问
可见,防盗链配置起到了作用
三、配置防盗链返回其他资源
1.编辑nginx配置文件
增加一个虚拟主机,对防盗链保护的资源进行重写
server {
listen 80;
server_name site1.test.com;
root /var/wwwroot/site1;
index index.html;
location / {
}
location ~ \.(jpg|png|gif|jpeg)$ {
valid_referers site1.test.com;
if ($invalid_referer) {
rewrite ^/ http://site3.test.com/notfound.jpg;
#return 403;
}
}
}
server {
listen 80;
server_name site2.test.com;
root /var/wwwroot/site2;
index index.html;
location / {
}
}
server {
listen 80;
server_name site3.test.com;
root /var/wwwroot/site3;
index index.html;
location / {
}
}解释
location ~ \.(jpg|png|gif|jpeg)$ {}为设置防盗链的文件类型,使用竖线|分隔。
valid_referers site1.test.com *.nginx.org;为白名单,使用空格分隔,可以使用*进行泛域名设置。
if ($invalid_referer) {}为判断是否符合白名单,不符合白名单将执行{}内的内容。
rewrite ^/ ;为重写资源,如果不合符白名单,则重写为该地址。
return 403;代表返回的状态码为403。
2.建立site3根目录
cd /var/wwwroot mkdir site3 echo -e "site3
@@##@@" >> site3/index.html
3.上传notfound.jpg文件至/var/wwwroot/site3目录
4.重启nginx服务
systemctl restart nginx
5.在宿主机编辑c:\windows\system32\drivers\etc\hosts文件
增加对site3.test.com的映射
192.168.204.11 site1.test.com
192.168.204.11 site2.test.com
192.168.204.11 site3.test.com
6.在宿主机访问
可以看到,在site2中盗用的site1的1.jpg文件,被重定向到了site3上的notfound.jpg文件
# nginx
# 防盗链
# 重写
# 一台
# 重启
# 配置文件
# 可以看到
# 可以使用
# 不符合
# 盗链
# 是否符合
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
如何基于PHP生成高效IDC网络公司建站源码?
Edge浏览器提示“由你的组织管理”怎么解决_去除浏览器托管提示【修复】
如何在浏览器中启用Flash_2025年继续使用Flash Player的方法【过时】
如何快速完成中国万网建站详细流程?
如何快速搭建虚拟主机网站?新手必看指南
BootStrap整体框架之基础布局组件
深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?
Laravel的辅助函数有哪些_Laravel常用Helpers函数提高开发效率
Laravel如何集成Inertia.js与Vue/React?(安装配置)
Linux系统命令中screen命令详解
学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?
个人网站制作流程图片大全,个人网站如何注销?
Bootstrap整体框架之CSS12栅格系统
韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南
Laravel如何实现API速率限制?(Rate Limiting教程)
Laravel怎么自定义错误页面_Laravel修改404和500页面模板
HTML透明颜色代码怎么让下拉菜单透明_下拉菜单透明背景指南【技巧】
专业型网站制作公司有哪些,我设计专业的,谁给推荐几个设计师兼职类的网站?
在centOS 7安装mysql 5.7的详细教程
Laravel辅助函数有哪些_Laravel Helpers常用助手函数大全
如何快速生成ASP一键建站模板并优化安全性?
如何彻底删除建站之星生成的Banner?
Laravel如何创建自定义Artisan命令?(代码示例)
ChatGPT 4.0官网入口地址 ChatGPT在线体验官网
DeepSeek是免费使用的吗 DeepSeek收费模式与Pro版本功能详解
Windows家庭版如何开启组策略(gpedit.msc)?(安装方法)
国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?
Laravel的契約(Contracts)是什么_深入理解Laravel Contracts与依赖倒置
大连网站制作公司哪家好一点,大连买房网站哪个好?
如何在阿里云香港服务器快速搭建网站?
Laravel怎么集成Log日志记录_Laravel单文件与每日日志配置及自定义通道【详解】
如何挑选高效建站主机与优质域名?
如何在 Python 中将列表项按字母顺序编号(a.、b.、c. …)
PHP 实现电台节目表的智能时间匹配与今日/明日轮播逻辑
Swift中swift中的switch 语句
音响网站制作视频教程,隆霸音响官方网站?
Laravel Asset编译怎么配置_Laravel Vite前端构建工具使用
如何在 React 中条件性地遍历数组并渲染元素
Laravel与Inertia.js怎么结合_使用Laravel和Inertia构建现代单页应用
Laravel如何实现用户角色和权限系统_Laravel角色权限管理机制
如何在云指建站中生成FTP站点?
WEB开发之注册页面验证码倒计时代码的实现
什么是javascript作用域_全局和局部作用域有什么区别?
Laravel如何使用Service Container和依赖注入?(代码示例)
Angular 表单中正确绑定输入值以确保提交与验证正常工作
安克发布新款氮化镓充电宝:体积缩小 30%,支持 200W 输出
Laravel如何实现全文搜索功能?(Scout和Algolia示例)
Python数据仓库与ETL构建实战_Airflow调度流程详解
怎样使用JSON进行数据交换_它有什么限制
高性能网站服务器部署指南:稳定运行与安全配置优化方案


