在Debian上实现Nginx防盗链,可以通过配置Nginx的ngx_http_referer_module
模块来实现。以下是详细的步骤:
如果你还没有安装Nginx,可以使用以下命令进行安装:
sudo apt update
sudo apt install nginx
编辑Nginx的配置文件,通常位于/etc/nginx/nginx.conf
或/etc/nginx/sites-available/default
。你可以创建一个新的配置文件或直接编辑现有的配置文件。
假设你想保护一个名为protected.jpg
的图片文件,可以添加以下配置:
server {
listen 80;
server_name example.com;
location /protected.jpg {
valid_referers none blocked server_names example.com www.example.com;
if ($invalid_referer) {
return 403;
}
root /var/www/html;
}
location / {
root /var/www/html;
}
}
valid_referers none blocked server_names example.com www.example.com;
:指定允许的引用来源。none
表示不允许任何引用,blocked
表示阻止的引用,server_names
表示允许的域名。if ($invalid_referer) { return 403; }
:如果引用来源无效,则返回403 Forbidden状态码。root /var/www/html;
:指定文件所在的根目录。在保存配置文件后,测试Nginx配置是否正确:
sudo nginx -t
如果没有错误信息,重新加载Nginx以应用新的配置:
sudo systemctl reload nginx
尝试从不同的域名或直接访问protected.jpg
文件,确保只有来自允许域名的请求才能成功访问。
ngx_http_referer_module
模块。通过以上步骤,你可以在Debian上成功实现Nginx防盗链功能。