有個(gè)客戶的站點(diǎn)負(fù)載過(guò)高,于是我們可愛的憤青系統(tǒng)工程師將其的Apache換成Nginx,效果很明顯。現(xiàn)在記錄一些Apache轉(zhuǎn)換過(guò)程中的小細(xì)節(jié),留下備忘。
Nginx的防盜鏈
一般的防盜鏈如下:
location ~* /.(gif|jpg|png|swf|flv)$ {
valid_referers none blocked www.ccvita.com www.phpq.net;
if ($invalid_referer) {
rewrite ^/ http://www.ccvita.com/403.html;
#return 404;
}
}
第一行:gif|jpg|png|swf|flv
表示對(duì)gif、jpg、png、swf、flv后綴的文件實(shí)行防盜鏈
第二行:www.ccvita.com www.phpq.net
表示對(duì)www.ccvita.com www.phpq.net這2個(gè)來(lái)路進(jìn)行判斷
if{}里面內(nèi)容的意思是,如果來(lái)路不是指定來(lái)路就跳轉(zhuǎn)到錯(cuò)誤頁(yè)面,當(dāng)然直接返回404也是可以的。
NginxHttpAccessKeyModule實(shí)現(xiàn)防盜鏈
如果不怕麻煩,有條件實(shí)現(xiàn)的話,推薦使用NginxHttpAccessKeyModule這個(gè)東西。
他的運(yùn)行方式是:如我的download 目錄下有一個(gè) file.zip 的文件。對(duì)應(yīng)的URI 是http://www.ccvita.com/download/file.zip
使用ngx_http_accesskey_module 模塊后http://www.ccvita.com/download/file.zip?key=09093abeac094. 只有給定的key值正確了,才能夠下載download目錄下的file.zip。而且 key 值是根據(jù)用戶的IP有關(guān)的,這樣就可以避免被盜鏈了。
據(jù)說(shuō)NginxHttpAccessKeyModule現(xiàn)在連迅雷都可以防了,可以嘗試一下。
作者聲明:原創(chuàng)作品,歡迎轉(zhuǎn)載,轉(zhuǎn)載時(shí)請(qǐng)務(wù)必以超鏈接形式標(biāo)明文章原始地址、作者信息和本聲明。
新聞熱點(diǎn)
疑難解答
圖片精選