centos

centos nginx防盗链实现方法

小樊
48
2025-08-02 12:54:28
栏目: 智能运维

在 CentOS 系统上使用 Nginx 实现防盗链,可以通过配置 Nginx 的 location 块和 valid_referers 指令来实现。以下是一个简单的示例:

  1. 打开 Nginx 配置文件。通常位于 /etc/nginx/nginx.conf/etc/nginx/conf.d/default.conf。使用文本编辑器打开,例如:
sudo vi /etc/nginx/conf.d/default.conf
  1. server 块中,找到 location 块,或者创建一个新的 location 块,用于处理需要防盗链的文件类型。例如,如果你想保护图片文件的防盗链,可以这样设置:
location ~* \.(jpg|jpeg|png|gif)$ {
    # 设置允许访问的域名
    valid_referers none blocked yourdomain.com www.yourdomain.com;

    # 如果请求的来源不在允许的域名列表中,返回 403 状态码
    if ($invalid_referer) {
        return 403;
    }

    # 其他配置,例如缓存、压缩等
}

yourdomain.comwww.yourdomain.com 替换为你希望允许访问的域名。如果有多个域名,请用空格分隔。

  1. 保存并关闭配置文件。

  2. 重新加载 Nginx 配置以使更改生效:

sudo nginx -t      # 检查配置文件语法是否正确
sudo nginx -s reload  # 重新加载配置文件

现在,Nginx 将根据配置的规则检查请求的来源,如果来源不在允许的域名列表中,将返回 403 状态码,从而实现防盗链功能。

0
看了该问题的人还看了