千家信息网

配置Nginx的防盗链的操作方法

发表于:2024-09-22 作者:千家信息网编辑
千家信息网最后更新 2024年09月22日,实验环境•一台最小化安装的CentOS 7.3虚拟机•配置:1核心/512MB•nginx版本1.12.2一、配置盗链网站1.启动一台nginx虚拟机,配置两个网站vim /etc/nginx/con
千家信息网最后更新 2024年09月22日配置Nginx的防盗链的操作方法

实验环境

•一台最小化安装的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/wwwrootcd /var/wwwrootmkdir site1mkdir site2echo -e "

site1

" >> site1/index.htmlecho -e "

site2

" >> site2/index.html

4.将1.jpg上传到/var/wwwroot/site1目录

5.启动nginx服务

systemctl restart nginxnetstat -anpt | grep nginx

6.防火墙放通80端口

setenforce 0firewall-cmd --zone=public --add-port=80/tcp --permanentfirewall-cmd --reload

7.在宿主机访问

http://site1.test.com

http://site2.test.com

二、配置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.在宿主机访问

清除浏览器缓存,访问http://site1.test.com

清除浏览器缓存,访问http://site2.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) {   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 ^/ http://site3.test.com/notfound.jpg;为重写资源,如果不合符白名单,则重写为该地址。
return 403;代表返回的状态码为403。

2.建立site3根目录

cd /var/wwwrootmkdir site3echo -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.在宿主机访问http://site2.test.com

可以看到,在site2中盗用的site1的1.jpg文件,被重定向到了site3上的notfound.jpg文件

总结

以上所述是小编给大家介绍的配置Nginx的防盗链的操作方法 ,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

配置 文件 防盗 宿主 宿主机 名单 网站 资源 服务 内容 根目录 浏览器 目录 缓存 帮助 浏览 方法 最小 两个 主机 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 android软件开发职责 阳江软件开发报名 国家医保信息编码标准数据库下载 包头网络安全等级测评单位 深圳市速讯通网络技术有限公司 济宁戴尔服务器代理销售电话 艾丽斯客网络技术有限公司 在数据库基本概念中dba是指 高港区直销网络技术大概费用 数据库控件列表 免费云服务服务器 罗列一下数据库基本数据类型 idc回收服务器安全教程 千惠互联网科技有限公司 海康威视基础服务器 天津免备案服务器维护云服务器 网络安全在我身边从我做起 5g在软件开发行业的机会 网络安全考人缘手抄报 小萌加油互联网科技有限公司 网络安全科普图片大全 工控网络安全应急演练 互联网金融科技个股 胶州电商软件开发哪家好 数据库设计实例 详解 sql数据库连接登录测试 app软件开发计划书怎么写 期刊一般多久收录到数据库 大学网络安全工程师 海军网络安全
0