1.14 Nginx 防盗链配置案例配置
前言
防盗链的含义是网站内容本身不在自己公司的服务器上,而通过技术手段,直接在 调用其他公司的服务器网站数据,而向最终用户提供此内容。一些小网站盗链高访问量 网站的音乐、图片、软件的链接,然后放置在自己的网站中,通过这种方法盗取高访问 量网站的空间和流量。
网站每天访问量很大,而且占用了很多不必要的带宽,浪费资源,所以必须采取一
些限制措施。防盗链其实就是采用服务器端编程技术,通过 URL 过滤、主机名等实现的 防止盗链的软件。
例如 http://www.jfedu.net/linux/页面,如果没有配置防盗链,别人就能轻而易举的在其的网站上引用该页面。Nginx 防盗链配置代码如下:
server {
listen 80;
server_name jfedu.net www.jfedu.net;
location / {
root html/b;
index index.html index.htm;
}
location ~* \.(gif|jpg|png|swf|flv)$ {
valid_referers none blocked jfedu.net *.jfedu.net;
root html/b;
if ($invalid_referer) {
#rewrite ^/ http://www.jfedu.net/403.html;
return 403;
}
}
}
Nginx 防盗链参数详解:
valid_referers 表示可用的 referers 设置
none 表示没有 referers,直接通过浏览器或者其他工具访问。
blocked 表示有 referers,但是被代理服务器或者防火墙隐藏;
jfedu.net 表示通过 jfedu.net 访问的 referers;
*.jfedu.net 表示通过*.jfedu.net 访问的 referers,*表示任意 host 主机。
除了以上方法,按照如下方法设置也可以实现防盗链:
location ~* \.(gif|jpg|png|swf|flv)$
if ($host !=`*.jfedu.net’) {
return 403;
}