溫馨提示×

Debian下Nginx如何實現防盜鏈

小樊
39
2025-03-28 02:40:55
欄目: 智能運維

在Debian下,使用Nginx實現防盜鏈可以通過配置Nginx的ngx_http_referer_module模塊來完成。以下是具體的步驟:

  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$;  # 允許的域名
            if ($invalid_referer) {
                return 403;  # 返回403 Forbidden
            }
            root /var/www/html;  # 替換為你的網站根目錄
            index index.html index.htm;
        }
    }
    

    解釋:

    • valid_referers指令用于指定允許的引用來源。none表示不允許任何引用,blocked表示阻止的引用,server_names表示允許的服務器域名,~\.example\.com$表示允許的域名(例如example.com)。
    • if ($invalid_referer)用于檢查引用是否有效,如果無效則返回403 Forbidden。
  4. 保存并退出編輯器: 按Ctrl + X,然后按Y確認保存,最后按Enter退出。

  5. 測試Nginx配置: 在重新加載Nginx之前,先測試配置文件是否有語法錯誤:

    sudo nginx -t
    

    如果配置文件沒有問題,你會看到類似以下的輸出:

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

    sudo systemctl reload nginx
    

現在,Nginx將根據配置的防盜鏈規則來限制訪問。只有來自允許域名的請求才能訪問你的網站資源,其他來源的請求將被拒絕并返回403 Forbidden狀態碼。

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