Nginx 防盜鏈配置
阿新 • • 發佈:2020-12-26
網站寫文章時,可能為了增加文章的生動性,我們常常加入圖片來說明,或者更加直觀的展示的問題。但是圖片被其他網站亂應用,可能會增加額外流量的費用。所以我們為了避免這種情況,就給網站加上圖片防盜鏈功能。
網站是用的 Nginx,所以我們介紹在 Nginx 如何配置網站圖片的防盜鏈。防盜鏈功能是基於 HTTP 協議的 Referer 機制,通過 referer 跟蹤來源,對來源就行對比。
配置程式碼
location ~* (gif|jpg|jpeg|png)$ { expire 30d; valid_referers none blocked *.sin2.cn; if ($invalid_referer) { rewrite ^/ https:://www.sin2.cn } }
程式碼解釋
第一行:匹配對應的圖片型別
第二行:屬於配置檔案中location作用域中原有的圖片快取時間配置
第三行:valid_referers 指定資源訪問通過以下幾種方式為合法,可理解設定的白名單。
關鍵字 | 描述 |
---|---|
none | 直接通過URL訪問,無referer值的情況 |
blocked | referer值被防火牆修改 |
servername | 指定資源在合法的域名白名單中可以被引用,支援*萬用字元,多個域名使用空格符分開 |
第四行:匹配不到對應的referer來源域,則跳轉到配置的地址上去
注意
- 不能完全的防止圖片被使用,可以通過其他方式得到圖片
- 站點使用了CDN,nginx配置的防盜鏈可能不會起作用,可以在CDN管理平臺配置。