nginx配置文件防盗链
生活随笔
收集整理的這篇文章主要介紹了
nginx配置文件防盗链
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一般網站為了防止資源被外部鏈接所盜用,都會使用防盜鏈來進行處理。思路就是判斷請求的域名 如下一個相對完全的示例: #VHOST: x.abc.com
server {listen 80;server_name x.abc.com;charset utf-8;access_log off;location / {return 404;}location /themes/ {alias C:/abc/abc_Web/themes/;valid_referers none blocked server_names abc.com *.abc.com *.abc.net;if ($invalid_referer) {return 403;}if ($document_uri ~ "^/themes/(default|img\/(icon|upload))/.*") { break;}if ($document_uri ~ "^/themes/js/(app|widgets)/.*"){ break;} }location /game/ {alias C:/abc/abc_Web/game/;valid_referers none blocked server_names abc.com *.abc.com *.abc.net;if ($invalid_referer) {return 403;}}location /images/ {alias C:/abc/abc_Web/images/;}
}
?
?
這段代碼的意思是:
listen?????? 80;? 監聽的端口為80
server_name? x.abc.com; 服務器名稱為x.abc.com
charset utf-8; 字符集編碼為utf-8
access_log off;? 不記錄訪問log日志
location / {
??????? return 404;
??? }
不允許直接訪問根目錄
?
http://x.abc.com/themes/ 將訪問指向本地 C:/abc/abc_Web/themes/;
valid_referers none blocked server_names abc.com *.abc.com *.abc.net;
上面這段就是重點,valid_referers none 阻止referers,排除referers為abc.com *.abc.com *.abc.net的域名
然后就是驗證了:$invalid_referer
if ($invalid_referer) {
??????????? return 403;
??????? }
?
滿足條件則返回403
?
?
可以使得正則匹配指定的資源,如.gif或.jpg、.swf、.mp3結尾的資源,還有就是判斷其host..
總結
以上是生活随笔為你收集整理的nginx配置文件防盗链的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Kerberos策略的配置
- 下一篇: 关于java 绝对值得收藏的书籍