nginx防盗链

防盗链,也被称为热点防护或者盗链保护,主要是防止其他网站盗用你的资源(如图片、视频等),导致你的服务器带宽和资源被滥用。在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的原因。

相关推荐

  1. nginx防盗

    2024-07-14 04:06:04       27 阅读
  2. Nginx优化与防盗

    2024-07-14 04:06:04       39 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-14 04:06:04       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-14 04:06:04       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-14 04:06:04       58 阅读
  4. Python语言-面向对象

    2024-07-14 04:06:04       69 阅读

热门阅读

  1. 【C++编程】类的静态 static 成员 & 常 const 函数

    2024-07-14 04:06:04       19 阅读
  2. Python自定义可切片的类

    2024-07-14 04:06:04       20 阅读
  3. 力扣题解(最长的斐波那契子序列的长度)

    2024-07-14 04:06:04       24 阅读
  4. Mojo: 轻量级Perl框架的魔力

    2024-07-14 04:06:04       22 阅读
  5. 最长上升子序列(最长递增子序列,LIS)

    2024-07-14 04:06:04       20 阅读
  6. 【docker镜像如何在不同的架构上运行】

    2024-07-14 04:06:04       19 阅读
  7. 第九十五周周报

    2024-07-14 04:06:04       15 阅读
  8. Python input NameError: name ‘xxx‘ is not defined.

    2024-07-14 04:06:04       17 阅读
  9. 【数据结构】二叉树

    2024-07-14 04:06:04       20 阅读