Nginx配置防盗链

263 阅读1分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

盗链

盗链是指服务提供商自己不提供服务的内容,通过技术手段绕过其它有利益的最终用户界面(如广告),直接在自己的网站上向最终用户提供其它服务提供商的服务内容,骗取最终用户的浏览和点击率。受益者不提供资源或提供很少的资源,而真正的服务提供商却得不到任何的收益。

防盗链

通过Referer或者签名,网站可以检测目标网页访问的来源页,如果是指定的网站或符合条件的网站,就可以跟踪到显示它的网页地址。

实现防盗链

方式一、Nginx Referer

location / {
    # 转发配置
    valid_referers none *.abc.com abc.com;
    if ($invalid_referer) {
        return 403;
    }
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    # 后台文件地址
    proxy_pass  http://minio:9000/;
}

参数说明

参数含义
valid_referers none *.abc.com abc.com允许没有http_refer的请求访问资源,允许abc.com 和 abc.com子域名访问
$invalid_referer是否满足 valid_referers 配置,不满足返回403,满足继续往下走