目录
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 中的站点根目录放出来到全局。
这样就完成了