ubuntu

Ubuntu如何使用Nginx实现防盗链

小樊
49
2025-09-13 08:43:27
栏目: 智能运维

在Ubuntu系统中使用Nginx实现防盗链,可以通过配置Nginx的ngx_http_referer_module模块来完成。以下是详细的步骤:

1. 安装Nginx

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

sudo apt update
sudo apt install nginx

2. 配置Nginx防盗链

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

示例配置

假设你的网站域名是example.com,并且你希望保护位于/var/www/html/images/目录下的图片文件。

server {
    listen 80;
    server_name example.com;

    location /images/ {
        # 允许的引用页
        valid_referers none blocked server_names example.com *.example.com;

        # 如果引用页不合法,则返回403 Forbidden
        if ($invalid_referer) {
            return 403;
        }

        # 其他配置,如缓存、压缩等
        expires 30d;
        add_header Cache-Control "public";
    }

    # 其他location配置
    location / {
        root /var/www/html;
        index index.html index.htm;
    }
}

3. 解释配置

4. 测试配置

在保存配置文件后,使用以下命令测试Nginx配置是否正确:

sudo nginx -t

如果配置正确,你会看到类似以下的输出:

nginx: configuration file /etc/nginx/nginx.conf test is successful

5. 重新加载Nginx

最后,重新加载Nginx以应用新的配置:

sudo systemctl reload nginx

6. 验证防盗链效果

你可以尝试从一个不允许的域名访问受保护的图片文件,应该会看到403 Forbidden错误。

通过以上步骤,你就可以在Ubuntu系统中使用Nginx实现防盗链功能了。

0
看了该问题的人还看了