溫馨提示×

如何通過nginx配置防盜鏈

小樊
44
2025-10-23 11:15:33
欄目: 編程語言

在Nginx中配置防盜鏈主要是通過檢查HTTP請求頭中的Referer字段來實現的。如果請求的來源不是你指定的域名,那么可以拒絕訪問資源。以下是一個基本的防盜鏈配置示例:

  1. 打開你的Nginx配置文件。通常位于/etc/nginx/nginx.conf/etc/nginx/sites-available/yourdomain.com。

  2. server塊中添加以下配置:

location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
    valid_referers none blocked yourdomain.com *.yourdomain.com;
    if ($invalid_referer) {
        return 403;
    }
}

這里的配置解釋如下:

  • location ~* \.(jpg|jpeg|png|gif|ico|css|js)$:匹配所有以.jpg, .jpeg, .png, .gif, .ico, .css, .js結尾的文件請求。
  • valid_referers none blocked yourdomain.com *.yourdomain.com;:設置允許的引用來源。none表示不允許任何引用,blocked表示允許被Nginx阻止的引用(例如,來自廣告聯盟的引用),yourdomain.com*.yourdomain.com表示允許你的域名及其子域名的引用。
  • if ($invalid_referer) { return 403; }:如果引用無效,則返回403 Forbidden狀態碼。
  1. 保存配置文件并退出編輯器。

  2. 重新加載Nginx配置以使更改生效:

sudo nginx -t      # 檢查配置文件語法是否正確
sudo nginx -s reload  # 重新加載配置文件

現在,Nginx將根據配置檢查防盜鏈規則。如果請求的資源引用不符合指定的域名,用戶將收到403 Forbidden響應。

請注意,防盜鏈并不能完全防止資源被盜用,因為Referer頭可以被偽造。更高級的防盜鏈方法可能需要使用簽名URL或其他驗證機制。

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