有些时候,大家不想让别人调用自己的图片,一是因为个人版权的问题,再一点就是会增加服务器的负载、还会产生一些没必要的流量。
其实在Nginx里面,很容易就做到防盗链的,在nginx.conf文件加入一个localtion配置项。
下面请看配置:
location ~* ^.+.(gif|jpg|png|swf|flv|rar|zip)$ { valid_referers none blocked www.-------.com ---------.com; if ($invalid_referer) { return 404;
#rewrite ^/ https://www.-------.com/wwww.jpg; }
access_log off; root html/www; expires 1d; break;
}
显示给盗链者看到的图片,注意不要放到自己的域名上,因为放盗链的作用,那样对方是看不到的,可以上传到一些支持外联的网络相册上。
当然了,也可以设置某个目录防盗链,只需把localtion匹配的改成一个目录就可以了,比如:
location /www/ {
alias /www/;
valid_referers none blocked www.qqqq.com qqqq.com; #none blocked 去掉之后,访问文件的路径,无法直接到达 if ($invalid_referer) { return 404; } }
这样就对images这个目录设置防盗链了。
NGINX错误页面友好显示
范例1:对错误代码403实行本地页面跳转,命令如下:
###www server { listen 80; server_name www.nmtui.com; location / { root html/www; index index.html index.htm; } error_page 403 /403.html; #<==当出现403错误时,会跳转到403.html页面 }
# 上面的/403.html是相对于站点根目录html/www的。
范例2:50x页面放到本地单独目录下,进行优雅显示。
# redirect server error pages to the static page /50x.html error_page 500 502 503 504 /50x.html; location = /50x.html { root /data0/www/html; }