图片配置
不记录日志
server{
location ~ .*\.(jpg|JPG|jpeg|JPEG|bmp|gif|GIF)$ {
access_log off;
}
}
缓存
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
# 根据文件扩展名进行判断,将图片设置在客户浏览器本地缓存 365~3650 天
expires 3650d;
}
防盗链
Danger
若网站图片及相关资源被盗链,最直接的影响就是网络带宽占用加大了,带宽费用多了,网络流量也可能忽高忽低,Nagios/Zabbix等报警服务频繁报警
解决方案:
- 第一,对IDC及CDN带宽做监控报警。
- 第二,作为高级运维或运维经理,每天上班的重要任务,就是经常查看网站流量图,关注流量变化,关注异常流量。
- 第三,对访问日志做分析,迅速定位异常流量,和业务部门保持较好的沟通,以便调度带宽和服务器资源。
- (1)根据HTTP referer实现防盗链,判定访问来源是不是授权的域名
location ~* \.(jpg|gif|png|swf|flv|wma|wmv|asf|mp3|mmf|zip|rar)$ { valid_referers none blocked *.etiantian.org etiantian.org; if ($invalid_referer) { rewrite ^/ http://www.etiantian.org/img/nolink.jpg; # 或 return 403; }
- (2)通过加密变换访问路径实现防盗链,需要服务器处理加解密
- (3)如果不怕麻烦,有条件实现的话,推荐使用NginxHttpAccessKeyModule,据说连迅雷都可以防
- (4)为图片添加版权水印