nginx防盗链

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"';

原文地址:https://www.cnblogs.com/lovelinux199075/p/9061148.html