溫馨提示×

Ubuntu如何使用Nginx實現防盜鏈

小樊
49
2025-09-13 08:43:27
欄目: 智能運維

在Ubuntu系統中使用Nginx實現防盜鏈,可以通過配置Nginx的ngx_http_referer_module模塊來完成。以下是詳細的步驟:

1. 安裝Nginx

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

sudo apt update
sudo apt install nginx

2. 配置Nginx防盜鏈

編輯Nginx的配置文件,通常位于/etc/nginx/nginx.conf/etc/nginx/sites-available/default。你可以創建一個新的配置文件或直接修改現有的配置文件。

示例配置

假設你的網站域名是example.com,并且你希望保護位于/var/www/html/images/目錄下的圖片文件。

server {
    listen 80;
    server_name example.com;

    location /images/ {
        # 允許的引用頁
        valid_referers none blocked server_names example.com *.example.com;

        # 如果引用頁不合法,則返回403 Forbidden
        if ($invalid_referer) {
            return 403;
        }

        # 其他配置,如緩存、壓縮等
        expires 30d;
        add_header Cache-Control "public";
    }

    # 其他location配置
    location / {
        root /var/www/html;
        index index.html index.htm;
    }
}

3. 解釋配置

  • valid_referers指令用于指定允許的引用頁。在這個例子中,允許的引用頁包括:
    • none:沒有引用頁。
    • blocked:被Nginx阻止的引用頁。
    • server_names example.com *.example.com:允許的域名列表。
  • if ($invalid_referer)指令用于檢查引用頁是否合法。如果不合法,則返回403 Forbidden狀態碼。
  • expiresadd_header指令用于設置緩存和添加HTTP頭信息。

4. 測試配置

在保存配置文件后,使用以下命令測試Nginx配置是否正確:

sudo nginx -t

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

nginx: configuration file /etc/nginx/nginx.conf test is successful

5. 重新加載Nginx

最后,重新加載Nginx以應用新的配置:

sudo systemctl reload nginx

6. 驗證防盜鏈效果

你可以嘗試從一個不允許的域名訪問受保護的圖片文件,應該會看到403 Forbidden錯誤。

通過以上步驟,你就可以在Ubuntu系統中使用Nginx實現防盜鏈功能了。

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