新聞中心
Nginx服務(wù)器在進(jìn)行圖片處理的時(shí)候有不少的問(wèn)題需要我們?nèi)ピ敿?xì)的學(xué)習(xí)。說(shuō)到訪問(wèn)權(quán)限控制,很多看了Nginx相關(guān)文章的朋友都會(huì)自然聯(lián)想到X-Accel-Redirect這個(gè)頭。這個(gè)頭有個(gè)缺陷,就是所有的訪問(wèn)都會(huì)先經(jīng)過(guò)一個(gè)fastcgi來(lái)判斷權(quán)限。

成都創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),忻城企業(yè)網(wǎng)站建設(shè),忻城品牌網(wǎng)站建設(shè),網(wǎng)站定制,忻城網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,忻城網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
在下載系統(tǒng)上,用這個(gè)方法是非常合適的,但是在訪問(wèn)量非常大的圖片服務(wù)器,單單用這個(gè)方法會(huì)使大量無(wú)需權(quán)限判定的圖片也經(jīng)過(guò)一個(gè)fastcgi處理,多此一舉并且無(wú)端耗費(fèi)大量的資源。雖然X-Accel-Redirect是一個(gè)新的方案,但是并不代表它能很好的解決所有問(wèn)題,同時(shí)也不妨礙繼續(xù)思考解決問(wèn)題的其它辦法。圖片服務(wù)器加上權(quán)限判斷主要用于博客和相冊(cè)這樣的系統(tǒng)。
在網(wǎng)上稍微觀察,可以看到目前大部分的博客相冊(cè)等系統(tǒng)并沒(méi)有針對(duì)圖片本身加入權(quán)限判斷,而僅僅是將網(wǎng)頁(yè)部分的權(quán)限控制住。這樣的話很多網(wǎng)友將其圖片加鎖,實(shí)際上此圖片在外部仍有辦法打開(kāi)。我估計(jì)此原因有其一是實(shí)現(xiàn)起來(lái)有性能問(wèn)題,其二是諸多網(wǎng)站將圖片放置到CDN上,而CDN并沒(méi)有對(duì)此有相應(yīng)的方案的緣故。走了一圈發(fā)現(xiàn)只有QQ空間在用帶權(quán)限的圖片,而它看上去是直接用fastcgi實(shí)現(xiàn)的,性能居然還不錯(cuò),佩服一下。下文單純解決性能問(wèn)題,其思路是在訪問(wèn)圖片附近放置一個(gè)控制文件,通過(guò)Nginx判斷決定是否要到fastcgi認(rèn)證,其原理類似apache的.htaccess。有用到CDN的,因?yàn)镃DN多數(shù)是squid,要加入清理squid緩存的機(jī)制。
1、針對(duì)單一圖片的控制
如果圖片按照哈希結(jié)構(gòu)放置,那么用戶的圖片加鎖后要把每一張圖片都加上控制文件,如果該用戶圖片較多,寫(xiě)入時(shí)稍嫌多些。比如有一張圖:
- /data/image/a/z/asdfqerqwegasd.jpg
寫(xiě)上一個(gè)空文件:
- /data/image/a/z/asdfqerqwegasd.jpg.lock
然后在Nginx配置判斷:
- location / {
- root /data/image/;
- if ( -f "${request_filename}.lock" )
- {
- #rewrite ^(.*)$ http://www.sudone.com/access.jsp?url=$1 last;
- return 403;#test
- }
- }
以上就是對(duì)Nginx服務(wù)器在處理圖片是的相關(guān)問(wèn)題。
網(wǎng)站欄目:Nginx服務(wù)器如何處理相關(guān)的圖片
文章源于:http://www.fisionsoft.com.cn/article/dhhdpic.html


咨詢
建站咨詢
