防盗链:html
目的:防止资源被盗用nginx
防盗链设置思路app
首要方式:区别哪些请求是非正常的用户请求curl
基于http_refer防盗链配置模块(判断refer(上一步的连接)信息是否为容许访问的网站)网站
配置语法:valid_refer none | bloked | server_names | string ...;
默认状态:-
配置方法:server、locationgoogle
确认以前配的timg.jpg还在/opt/app/code/images下面url
编辑一个html,上传到/opt/app/code下面3d
<html>
<head>
<meta charset="utf-8">
<title>防盗链</title>
</head>
<body style="background-color:red;">
<img src="http://192.168.1.141/timg.jpg"/>
</body>
</html>code
reload一下,再请求server
把access.log打开再刷新一下网页:tail -f /var/log/nginx/access.log
配置容许过来的状况
在location里面加上:
valid_referers none bloched 192.168.1.141;
if ($invalid_referer){
return 403;
}
检查配置并重启
nginx -tc /etc/nginx/nginx.conf
nginx -s reload -c /etc/nginx/nginx.conf
用curl请求一下,这里因为请求timg.jpg会把图片底层打印出来,不必,咱们只须要请求的头部,因此加一个“-I”
试一下从百度跳转过去,失败
把跳转前的地址改成配置里面容许的地址,成功
这种配置方法,不止能够匹配ip,还能够匹配域名
如匹配google:valid_referers none bloched 192.168.1.141 ~ /google\./;