在CentOS上使用Nginx實施防盜鏈,可以通過配置Nginx的ngx_http_referer_module
模塊來實現。以下是詳細的步驟:
如果你還沒有安裝Nginx,可以使用以下命令進行安裝:
sudo yum install epel-release
sudo yum install nginx
編輯Nginx的配置文件,通常位于/etc/nginx/nginx.conf
或/etc/nginx/conf.d/default.conf
。
server {
listen 80;
server_name example.com;
location /protected/ {
valid_referers none blocked server_names example.com www.example.com;
if ($invalid_referer) {
return 403 "Forbidden";
}
root /var/www/html;
try_files $uri $uri/ =404;
}
location / {
root /var/www/html;
try_files $uri $uri/ =404;
}
}
valid_referers none blocked server_names example.com www.example.com;
:指定允許的引用來源。none
表示不允許任何引用,blocked
表示阻止的引用,server_names
表示允許的域名。if ($invalid_referer) { return 403 "Forbidden"; }
:如果引用來源無效,則返回403 Forbidden狀態碼。root /var/www/html;
:指定網站文件的根目錄。try_files $uri $uri/ =404;
:嘗試匹配請求的文件,如果不存在則返回404錯誤。保存配置文件后,重啟Nginx以應用更改:
sudo systemctl restart nginx
你可以使用瀏覽器或命令行工具(如curl
)來測試防盜鏈配置是否生效。
訪問http://example.com/protected/yourfile.jpg
,如果引用來源不在允許列表中,瀏覽器將顯示403 Forbidden。
curl -I http://example.com/protected/yourfile.jpg
如果引用來源無效,響應頭將包含HTTP/1.1 403 Forbidden
。
ngx_http_referer_module
模塊。valid_referers
指令中添加這些域名。通過以上步驟,你可以在CentOS上使用Nginx實施防盜鏈,保護你的網站資源不被非法引用。