1.资源防盗链 盗链指的是在自己的网站界面展示不在自己服务器上的内容,通过技术手段获得他人服务器的资源地址,绕过别人资源展示页面,在自己页面向用户提供此内容,从而减轻自己服务器的负担,因为真实的空间和流量来自于别人的服务器 2.nginx http_refer防盗链配置语法 Syntax: valid_referers none | blocked | server_names | string ...; Default: - Context: server,location //可以配置在server标签和location标签下 3.在自己的机器准备html文件
<html>
<head>
<meta charset="utf-8">
<title>test </title>
</head>
<body style="background-color:red;">
<img src="http://192.168.111.152/5022.png"> //在192.168.111.151机器上盗链192.168.111.152上的图片
</body>
</html>
没有启动防盗链之前访问这个html文件 4.在真正提供图片的机器上启用防盗链192.168.111.152上
location ~ .*\.(png|jpg|bmp)$ {
root /webroot/www;
index index.html index.htm;
valid_referers none blocked 192.168.111.151; //支持ip,域名,正则表达式,允许192.168.111.151,不是这个ip地址返回403
if ($invalid_referer) {
return 403;
}
}
启动防盗链之后:403状态码 5.nginx日志中变量$http_referer能够看到访问资源的链接是谁
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';