nginx 设置图片防盗链
nginx模块ngx_http_referer_module通常用于阻挡来源非法的域名请求.我们应该牢记,伪装Referer头部是非常简单的事情,所以这个模块只能用于阻止大部分非法请求.我们应该记住,有些合法的请求是不会带referer来源头部的,所以有时候不要拒绝来源头部(referer)为空的请求.
location ~* \.(gif|jpg|png|bmp)$ { valid_referers none blocked *.jumoshen.com server_names ~\.google\. ~\.baidu\.; if ($invalid_referer) { return 403; #rewrite ^/ https://www.jumoshen.cn/403.jpg; } }
以上所有来至jumoshen.cn和域名中包含google和baidu的站点都可以访问到当前站点的图片,如果来源域名不在这个列表中,那么$invalid_referer等于1,在if语句中返回一个403给用户,这样用户便会看到一个403的页面,如果使用下面的rewrite,那么盗链的图片都会显示403.jpg。如果用户直接在浏览器输入你的图片地址,那么图片显示正常,因为它符合none这个规则. (同样,如果你不想直接在浏览器输入看见图片的话 去掉none blocked 就好 此处不建议 我只是做个例子)
https://www.jumoshen.cn/public/images/a.jpg 类似这样 写的匆忙 不足之处请联系本人qq 1173240549