温馨提示×

centos nginx如何做防盗链

小樊
41
2025-10-07 01:30:13
栏目: 智能运维

在CentOS上配置Nginx以防止防盗链,可以通过以下步骤实现:

1. 安装Nginx

如果你还没有安装Nginx,可以使用以下命令进行安装:

sudo yum install epel-release
sudo yum install nginx

2. 配置Nginx防盗链

编辑Nginx配置文件,通常位于 /etc/nginx/nginx.conf/etc/nginx/conf.d/default.conf。你可以创建一个新的配置文件或修改现有的配置文件。

示例配置

server {
    listen 80;
    server_name example.com;

    location / {
        # 允许的引用页
        valid_referers none blocked server_names ~\.example\.com$ ~\.example\.net$;

        if ($invalid_referer) {
            return 403 "Forbidden";
        }

        root /var/www/html;
        index index.html index.htm;
    }

    location /protected/ {
        # 允许的引用页
        valid_referers none blocked server_names ~\.example\.com$ ~\.example\.net$;

        if ($invalid_referer) {
            return 403 "Forbidden";
        }

        root /var/www/html/protected;
        index index.html index.htm;
    }
}

3. 解释配置

  • valid_referers 指令用于指定允许的引用页。你可以使用以下值:

    • none:不允许任何引用。
    • blocked:允许被Nginx阻止的引用。
    • server_names:允许指定的服务器名称。
    • ~\.example\.com$~\.example\.net$:允许以 .example.com.example.net 结尾的域名。
  • if ($invalid_referer) 指令用于检查引用是否有效。如果无效,则返回403 Forbidden状态码。

4. 重启Nginx

保存配置文件后,重启Nginx以应用更改:

sudo systemctl restart nginx

5. 测试防盗链

你可以尝试从不同的域名或没有引用的页面访问受保护的资源,确保防盗链配置生效。

通过以上步骤,你可以在CentOS上配置Nginx以防止防盗链。根据你的具体需求,可以调整 valid_referers 的值和路径。

0