在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
。
假設你有一個圖片目錄/var/www/html/images
,你希望只有來自特定域名的請求才能訪問這些圖片。
server {
listen 80;
server_name example.com;
location /images/ {
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)
:如果引用無效,則返回403 Forbidden狀態碼。root /var/www/html;
:指定文件根目錄。保存配置文件后,重啟Nginx以應用更改:
sudo systemctl restart nginx
你可以使用瀏覽器訪問你的圖片目錄,確保只有來自允許域名的請求才能成功訪問圖片。例如:
curl -I http://example.com/images/example.jpg
如果引用無效,你會收到403 Forbidden響應。
ngx_http_referer_module
模塊。server
塊或location
塊中,根據你的需求進行調整。valid_referers
指令中。通過以上步驟,你可以在CentOS上使用Nginx實現基本的防盜鏈功能。