在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 指令用于指定允許的引用頁??梢栽O置為 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防盜鏈了。