Nginx 常用变量 与 防盗链

 

目录

 

1.常用变量

2. $http_referer 配置防盗链

2.1 referer

2.2 配置防盗链


1.常用变量

变量说明

$args

请求中的参数,也叫查询参数

$content_length

HTTP响应信息里的"Content-Length"

$document_root

nginx虚拟主机配置文件中的root站点根目录

$document_uri

当前请求中不包含指令的URI

$host

主机头,也就是域名或者ip地址

$http_user_agent

客户端的详细信息,也就是浏览器的标识,用curl -A可以指定

$http_cookie

客户端的cookie信息

$limit_rate

如果nginx服务器使用limit_rate配置了显示网络速率,则会显示,如果没有设置, 则显示0

$remote_addr

客户端的公网ip

$remote_port

客户端的port

$remote_user

如果nginx有配置认证,该变量代表客户端认证的用户名

$request_body_file

做反向代理时发给后端服务器的本地资源的名称

$request_method

http请求方法,GET/POST/PUT/DELETE等

$request_filename

当前请求的资源文件的路径名称,相当于是

$document_root/$document_uri的组合

$request_uri

请求的链接,包括$document_uri和$args

$scheme

请求的协议,如ftp,http,https

$server_protocol

客户端请求资源使用的协议的版本,如HTTP/1.0,HTTP/1.1,HTTP/2.0 等

$server_addr

服务器IP地址

$server_name

服务器的主机名

$server_port

服务器的端口号

$uri

和$document_uri相同

$http_referer

客户端请求时的referer请求头键值对的值,通俗讲就是该请求是通过哪个链接跳过来的,用curl -e可以指定

2. $http_referer 配置防盗链

2.1 referer

$http_referer 记录的是从哪个网站跳转过来的,如我在百度查询牙医,然后在展示的页面显示多个牙医的网站,我随便点击一个进去,就可以到达一个牙医的官网。在我访问这个官网之后,$http_referer 就会记录我是从百度过来的

用户在网站里询问然后就地就医的话,这样子百度就可以收取广告费

2.2 配置防盗链

简单来说就是防止中间商薅羊毛。

 a 网站想要防止别人盗用自己的资源的话,就需要配置防盗链。就是让a网站检查下载请求的 Referer  是否是自己的网站,不是的话就下载不了

在a网站的server 配置文件中添加下面的代码即可,防 png 的防盗链

 location ~* \.png$ {if ( $http_referer !~* "a.fly.com" ) {# !~* 不包含的意思;return 403;}}

 还需要将原本放在location 中的站点根目录放出来到全局。

这样就完成了

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

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

相关文章

程序员必知!命令模式的实战应用与案例分析

命令模式是一种行为设计模式,它将请求封装为对象以实现客户端参数化、请求排队、日志记录及撤销操作,旨在解耦调用者与操作实现者,以智能家居为例,用户通过界面发送命令对象,设备作为接收者执行相应操作,无…

EBU7140 Security and Authentication(三)密钥管理;IP 层安全

B3 密钥管理 密钥分类: 按时长: short term:短期密钥,用于一次加密。long term:长期密钥,用于加密或者授权。 按服务类型: Authentication keys:公钥长期,私钥短期…

航空公司管理系统(迷你版12306)

要求 今天分享一个之前辅导留学生的作业,作业要求如下: Project E: Airways Management System Overall description: Your team is employed by an Airways company for the implementation of a computer system responsible for a large part of th…

60天零基础干翻C++————初识C++

初识c 命名空间命名空间的定义命名空间的使用 输入输出流缺省参数引用引用定义常量的引用引用的使用场景做函数参数引用做返回值 命名空间 命名空间的定义 在c语言中会有下面问题 上述代码中,全局变量rand 可能会命名冲突,如下图 此时编译失败&…

Python编程技巧 – 编写单行if条件语句

Python编程技巧 – 编写单行if条件语句 Python Programming Skills – Program Single-liner if Conditionals By JacksonML 通常,我们在写Python代码的时候,都会按部就班地一行行写完,代码的丰富足以让自己骄傲和充实。 实际上&#xff0…

PostGIS学习教程十八:维数扩展的9交集模型

PostGIS学习教程十八:维数扩展的9交集模型 文章目录 PostGIS学习教程十八:维数扩展的9交集模型一、什么是维数扩展的9交集模型二、查找具有特定关系的几何图形三、数据质量测试四、本文涉及的函数五、更多相关资料 一、什么是维数扩展的9交集模型 “维数…

我的第一个前端项目,vue项目从零开始创建和运行

​入门前端,从基础做起,从零开始新建项目 背景:VUE脚手架项目是一个“单页面”应用,即整个项目中只有1个网页! 在VUE脚手架项目中,主要是设计各个“视图组件”,它们都是整个网页中某个部分&…

jetson AGC orin 配置pytorch和cuda使用、yolov8 TensorRt测试

文章目录 1、安装环境1.1、检查系统环境1.2、下载安装pytorch1.3、下载安装torchvision1.3、测试安装是否成功 2、yolov8测试2.1、官方python脚本测试2.2、tensorrt 模型转换2.3、tensorrt c 测试 1、安装环境 1.1、检查系统环境 检查系统环境、安装jetpack版本,执…

Android14之禁掉Selinux的两种方式(一百七十四)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒…

【读书笔记】网空态势感知理论与模型(九)

对分析人员数据分类分流操作的研究 1.概述 本章节介绍一种以人员为中心的智能数据分类分流系统,该系统利用了入侵检测分析人员的认知轨迹。整合了3个维度的动态网络-人系统(cyber-humber system):网空防御分析人员、网络监测数据…

VMware中找到存在但是不显示的虚拟机(彻底发现)VMware已创建虚拟机不显示

删除VMware中的虚拟机的时候,可能没有把虚拟机完全删除,或者说 “移除” 后找不到虚拟机在哪里,内存空间也没有得到释放,那该如何解决呢? 1.明确: “移除” 不等于 “从磁盘删除” 移除:只…

聚道云软件连接器助力某半导体行业公司实现访客管理自动化

客户介绍: 某半导体行业公司是一家全球领先的半导体公司,在全球拥有众多研发中心和生产基地。该公司每天都有大量的访客来访,需要严格的访客管理制度。 添加图片注释,不超过 140 字(可选) 客户痛点&#…