Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> Linux 教學

Nginx 防盜鏈配置:基於 Referer 的訪問控制實戰

編輯:Linux 教學

利用 ngx_http_referer_module 判斷請求頭 Referer 字段,阻止非授權域名直接引用圖片/文件等資源。

核心指令:valid_referers

location /photos/ {
    valid_referers none blocked www.mydomain.com mydomain.com;
    if ($invalid_referer) {
        return 403;
    }
}

參數含義

  • none:允許無 Referer 頭的請求(如瀏覽器直接訪問、某些代理)。
  • blocked:允許被防火牆/代理過濾後的 Referer(如 Referer: XXXXXXX)。
  • server_names:允許的域名列表,支持通配符 *.mydomain.com(0.5.33+)。

若 Referer 不在白名單中,$invalid_referer = 1,觸發 return 403。

局限性

Referer 可被偽造(如 curl -e "https://allowed.com" https://target.com/img.jpg),無法 100% 防盜鏈。對於高價值資源,建議結合 ngx_http_secure_link_module(帶簽名、過期時間的安全鏈接)或 Token 驗證機制。

Copyright © Windows教程網 All Rights Reserved