nginx防盗链

5 篇文章 0 订阅
3 篇文章 0 订阅

防盗链,也被称为热点防护或者盗链保护,主要是防止其他网站盗用你的资源(如图片、视频等),导致你的服务器带宽和资源被滥用。在Nginx中,可以通过设置location中的valid_referers指令来实现防盗链。

Nginx防盗链配置示例:

server {
    listen       80;
    server_name  example.com;
 
    location /images/ {
        valid_referers none blocked $http_referer;
        if ($invalid_referer) {
            return 403;
        }
 
        # 其他location配置...
    }
}

在这个例子中,任何尝试访问/images/目录下的资源的请求,都需要提供一个referer头,并且这个referer必须是example.com的子域名,否则返回403错误。

但是,这种方式可能会误伤到一些不带referer的合法请求,例如直接在浏览器地址栏输入URL的情况。因此,更常见的做法是允许没有referer的请求,只阻止那些referer不正确的请求:

location /images/ {
    valid_referers none blocked example.com;
    if ($invalid_referer) {
        return 403;
    }
}

在这个例子中,没有referer的请求,或者referer为example.com的请求,都会被视为有效请求。

注意:$http_referer变量只有在HTTP Referer头部存在时才会被设置,因此如果客户端禁用了发送Referer头部,那么所有请求都将被视为没有referer,这也就是为什么我们需要在valid_referers中包含none的原因。

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jingyu飞鸟

醒来觉得甚是爱你。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值