首页 > 代码库 > nginx配置图片防盗链

nginx配置图片防盗链

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)${    expires 30d;    access_log off;    valid_referers none blocked *.lee.com  *.xing.com  ;    if ($invalid_referer){        rewrite ^/ http://invalid.com/images/invalid.png;     #return 403;    }}

 

expires : 图片的客户端浏览器的缓存时间。

access_log : 不记录访问日志。

valid_referers : 指定有效的referers,nginx防盗链是根据http头中的referer来判断的。

none : 无referer头,即是直接访问图片的url,可以选择禁止。

blocked : 指定允许访问的域名,支持域名前缀通配符*。

if :  无效的referer返回防盗链图片,或者403。

 

注意问题:

如果对全站执行防盗链,要把配置加到HTTP{}部分,如果对单独域名就放到server{}部分。

返回防盗链图片的域名(上例中的invalid.com),需要没有限制防盗链规则,否则不能正常返回图片,我一开始就晕了,lee.com配置了防盗链,还用lee.com返回防盗链图片,怎么也显示不出来。

nginx配置图片防盗链