在Debian系统上配置Nginx防盗链,可以通过修改Nginx的配置文件来实现。以下是详细的步骤:
首先,找到并打开Nginx的主配置文件。通常位于 /etc/nginx/nginx.conf
或 /etc/nginx/sites-available/default
。
sudo nano /etc/nginx/sites-available/default
在 server
块中添加防盗链配置。以下是一个示例配置:
server {
listen 80;
server_name example.com;
location / {
# 允许的引用页
valid_referers none blocked server_names example.com www.example.com;
# 如果引用页不合法,则返回403 Forbidden
if ($invalid_referer) {
return 403;
}
# 其他配置...
root /var/www/html;
index index.html index.htm;
}
}
valid_referers
指令用于指定允许的引用页。可以设置为 none
(不允许任何引用)、blocked
(阻止的引用)、server_names
(允许的域名)或具体的URL。if ($invalid_referer)
用于检查引用页是否合法。如果不合法,则返回403 Forbidden状态码。保存文件并退出编辑器。
在重新加载Nginx之前,先测试配置文件是否有语法错误。
sudo nginx -t
如果配置文件没有问题,会显示类似以下的输出:
nginx: configuration file /etc/nginx/nginx.conf test is successful
最后,重新加载Nginx以应用新的配置。
sudo systemctl reload nginx
你可以通过在不同的浏览器或使用工具(如 curl
)来测试防盗链效果。例如,使用 curl
命令并设置不同的 Referer
头来验证:
curl -I -H "Referer: http://example.com" http://yourdomain.com/protected-resource
如果 Referer
是允许的,应该会返回正常的HTTP响应头;如果 Referer
不允许,应该会返回403 Forbidden状态码。
通过以上步骤,你就可以在Debian系统上成功配置Nginx防盗链了。