防盜鏈: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\./;