Windows XP Windows 7 Windows 2003 Windows Vista Windows教程綜合 Linux 系統教程
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟件教程
 Windows教程網 >> Linux系統教程 >> Linux教程 >> Nginx的防盜鏈配置

Nginx的防盜鏈配置

日期:2017/2/7 14:25:49      編輯:Linux教程
 

有個客戶的站點負載過高,於是我們可愛的憤青系統工程師將其的Apache換成Nginx,效果很明顯。現在記錄一些Apache轉換過程中的小細節,留下備忘。

 

Nginx的防盜鏈
一般的防盜鏈如下:

location ~* \.(gif|jpg|png|swf|flv)$ {
valid_referers none blocked yusky.me www.yusky.me;
if ($invalid_referer) {
rewrite ^/ http://yusky.me/403.html;
#return 404;
}
}

第一行:gif|jpg|png|swf|flv
表示對gif、jpg、png、swf、flv後綴的文件實行防盜鏈
第二行:yusky.me www.yusky.me
表示對yusky.me www.yusky.me這2個來路進行判斷
if{}裡面內容的意思是,如果來路不是指定來路就跳轉到錯誤頁面,當然直接返回404也是可以的。

 

NginxHttpAccessKeyModule實現防盜鏈
如果不怕麻煩,有條件實現的話,推薦使用NginxHttpAccessKeyModule這個東西。

他的運行方式是:如我的download 目錄下有一個 file.zip 的文件。對應的URI 是http://www.ccvita.com/download/file.zip
使用ngx_http_accesskey_module 模塊後http://yusky.me/download/file.zip?key=09093abeac094. 只有給定的key值正確了,才能夠下載download目錄下的file.zip。而且 key 值是根據用戶的IP有關的,這樣就可以避免被盜鏈了。

據說NginxHttpAccessKeyModule現在連迅雷都可以防了,可以嘗試一下。

Copyright © Windows教程網 All Rights Reserved