溫馨提示×

centos nginx防盜鏈實施

小樊
41
2025-06-26 12:50:20
欄目: 智能運維

在CentOS上使用Nginx實施防盜鏈,可以通過配置Nginx的ngx_http_referer_module模塊來實現。以下是詳細的步驟:

1. 安裝Nginx

如果你還沒有安裝Nginx,可以使用以下命令進行安裝:

sudo yum install epel-release
sudo yum install nginx

2. 配置防盜鏈

編輯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錯誤。

3. 重啟Nginx

保存配置文件后,重啟Nginx以應用更改:

sudo systemctl restart nginx

4. 測試防盜鏈

你可以使用瀏覽器或命令行工具(如curl)來測試防盜鏈配置是否生效。

使用瀏覽器測試

訪問http://example.com/protected/yourfile.jpg,如果引用來源不在允許列表中,瀏覽器將顯示403 Forbidden。

使用curl測試

curl -I http://example.com/protected/yourfile.jpg

如果引用來源無效,響應頭將包含HTTP/1.1 403 Forbidden。

注意事項

  • 確保你的Nginx版本支持ngx_http_referer_module模塊。
  • 如果你有子域名或其他域名需要訪問,可以在valid_referers指令中添加這些域名。
  • 防盜鏈配置可能會影響正常用戶的訪問,確保配置正確后再進行測試。

通過以上步驟,你可以在CentOS上使用Nginx實施防盜鏈,保護你的網站資源不被非法引用。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女