溫馨提示×

Ubuntu Nginx如何實現防盜鏈功能

小樊
36
2025-10-17 02:17:28
欄目: 智能運維

在Ubuntu上使用Nginx實現防盜鏈功能,可以通過配置Nginx的ngx_http_referer_module模塊來完成。這個模塊允許你根據HTTP請求頭中的Referer字段來控制訪問權限。以下是具體步驟:

  1. 安裝Nginx(如果尚未安裝):

    sudo apt update
    sudo apt install nginx
    
  2. 編輯Nginx配置文件: 打開Nginx的主配置文件,通常位于/etc/nginx/nginx.conf/etc/nginx/sites-available/default。

    sudo nano /etc/nginx/sites-available/default
    
  3. 添加防盜鏈配置: 在server塊中添加以下配置:

    server {
        listen 80;
        server_name example.com;  # 替換為你的域名
    
        location / {
            valid_referers none blocked server_names ~\.example\.com$;  # 允許的Referer
            if ($invalid_referer) {
                return 403;  # 返回403 Forbidden
            }
            root /var/www/html;  # 替換為你的網站根目錄
            index index.html index.htm;
        }
    }
    

    解釋:

    • valid_referers指令用于指定允許的Referer。none表示不允許任何Referer,blocked表示阻止所有Referer,server_names表示允許的域名列表,~\.example\.com$表示允許的域名模式。
    • if ($invalid_referer)用于檢查Referer是否有效,如果無效則返回403 Forbidden狀態碼。
  4. 測試配置: 在保存并退出編輯器后,測試Nginx配置是否正確:

    sudo nginx -t
    

    如果配置正確,你會看到類似以下的輸出:

    nginx: configuration file /etc/nginx/nginx.conf test is successful
    
  5. 重新加載Nginx: 使配置生效,重新加載Nginx:

    sudo systemctl reload nginx
    

現在,你的Nginx服務器已經配置了防盜鏈功能。當用戶嘗試訪問你的網站資源時,如果Referer不在允許的列表中,將會收到403 Forbidden響應。

注意事項

  • 確保你的網站域名和允許的Referer域名正確無誤。
  • 防盜鏈功能主要依賴于客戶端發送的Referer頭,因此可能會被一些瀏覽器插件或代理服務器繞過。
  • 如果需要更復雜的防盜鏈策略,可以考慮使用第三方服務或自定義模塊。

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