在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。你可以使用你喜欢的文本编辑器,例如nano或vim。
sudo nano /etc/nginx/sites-available/default
在server块中添加以下配置:
server {
listen 80;
server_name example.com; # 替换为你的域名或IP地址
location / {
valid_referers none blocked server_names ~\.example\.com$; # 允许的引用页
if ($invalid_referer) {
return 403; # 返回403 Forbidden
}
root /var/www/html; # 替换为你的网站根目录
index index.html index.htm;
}
}
valid_referers指令用于指定允许的引用页。你可以使用以下值:
none:不允许任何引用页。blocked:允许被Nginx阻止的引用页。server_names:允许的域名列表。~\.example\.com$:正则表达式,允许以.example.com结尾的域名。if ($invalid_referer):如果引用页无效,则执行以下操作。
return 403:返回403 Forbidden状态码。
在保存并退出编辑器后,测试Nginx配置是否正确:
sudo nginx -t
如果配置正确,你会看到类似以下的输出:
nginx: configuration file /etc/nginx/nginx.conf test is successful
重新加载Nginx以应用新的配置:
sudo systemctl reload nginx
现在,你可以尝试从不同的网站访问你的资源,看看是否能够正常访问。如果引用页不在允许列表中,你应该会看到403 Forbidden错误。
通过以上步骤,你就可以在Debian系统上使用Nginx实现防盗链功能了。