在 Debian 系统上使用 Nginx 实现防盗链,可以通过配置 Nginx 的 location 块和 valid_referers 指令来实现。以下是一个简单的示例:
/etc/nginx/nginx.conf 或 /etc/nginx/sites-available/your_domain.conf。如果你使用的是默认的 Nginx 安装,你可以使用以下命令打开配置文件:sudo nano /etc/nginx/sites-available/default
server 块中,找到 location 块,或者创建一个新的 location 块,用于处理防盗链请求。例如,如果你想要保护一个名为 images 的目录,你可以这样配置:location /images/ {
# 在这里添加防盗链配置
}
location 块中,添加 valid_referers 指令,用于指定允许访问资源的域名。你可以添加多个域名,用空格分隔。同时,添加一个 deny all 指令,以阻止所有其他域名的访问。valid_referers none blocked server_names your_domain.com www.your_domain.com;
if ($invalid_referer) {
return 403;
}
将 your_domain.com 和 www.your_domain.com 替换为你允许访问资源的域名。
保存并关闭配置文件。
重新加载 Nginx 以应用更改:
sudo nginx -t # 检查配置文件语法是否正确
sudo systemctl reload nginx # 重新加载 Nginx 配置
现在,你的 Nginx 服务器已经配置了防盗链功能。只有来自指定域名的请求才能访问 /images/ 目录中的资源。其他域名的请求将被拒绝并返回 403 错误。