摘 要:由于現(xiàn)在高校的信息化的趨勢(shì),需要的IP量越來(lái)越多。但I(xiàn)Pv4地址空間已于2011年元月的時(shí)候就已經(jīng)分配完畢,現(xiàn)在大多數(shù)學(xué)院的外網(wǎng)ip地址大多是不充足的。學(xué)院IP資源使用的緊張,而往往需要使用技術(shù)手段來(lái)解決IP地址不足的問(wèn)題,而方向代理就是其中最為有效的技術(shù)手段。同時(shí)反向代理技術(shù)還可以實(shí)現(xiàn)網(wǎng)站均衡,網(wǎng)頁(yè)加速等多種功能,是網(wǎng)站總要的輔助技術(shù)。本文對(duì)現(xiàn)在相關(guān)的技術(shù)進(jìn)行比對(duì),并對(duì)其推薦的易用的軟件的主要的配置進(jìn)行介紹。
關(guān)鍵詞:方向代理;nigix;squid;Apache
中圖分類號(hào):TP393.092
1 反向代理是什么?
反向代理的工作原理是,代理服務(wù)器來(lái)接受客戶端的網(wǎng)絡(luò)訪問(wèn)連接請(qǐng)求,然后服務(wù)器將請(qǐng)求有策略的轉(zhuǎn)發(fā)給網(wǎng)絡(luò)中實(shí)際工作的業(yè)務(wù)服務(wù)器,并將從業(yè)務(wù)服務(wù)器處理的結(jié)果,返回給網(wǎng)絡(luò)上發(fā)起連接請(qǐng)求的客戶端。
2 常見(jiàn)的反方向代理軟件
由于web服務(wù)器的本身的性能限制,為了滿足大量的訪問(wèn)需求,Squid cache(簡(jiǎn)稱為Squid)是一個(gè)流行的代理軟件。Squid有廣泛的用途,從作為網(wǎng)頁(yè)服務(wù)器的前置cache服務(wù)器緩存相關(guān)請(qǐng)求來(lái)提高Web服務(wù)器的速度,到為一組人共享網(wǎng)絡(luò)資源而緩存萬(wàn)維網(wǎng),域名系統(tǒng)和其他網(wǎng)絡(luò)搜索,到通過(guò)過(guò)濾流量幫助網(wǎng)絡(luò)安全,到局域網(wǎng)通過(guò)代理上網(wǎng)。Squid主要設(shè)計(jì)用于在Unix一類系統(tǒng)運(yùn)行?,F(xiàn)在廣泛應(yīng)用于CDN 系統(tǒng)中。
Nginx發(fā)布與2004年10月4日。它是款高性能的 HTTP 和反向代理服務(wù)器。其特點(diǎn)是高效、豐富的功能集、示例配置文件和低系統(tǒng)資源的消耗而聞名。在一些測(cè)試中nginx的測(cè)試性能是squid的10倍。
NCACHE 是基于NGINX的WEB服務(wù)器模型構(gòu)件起來(lái)的緩存系統(tǒng),是SINA公司的開(kāi)源產(chǎn)品。起初的目的是為了提升緩存響應(yīng)速度而開(kāi)發(fā)的,因?yàn)镾QUID實(shí)在比較慢,而NGINX的優(yōu)勢(shì)就在于網(wǎng)絡(luò)服務(wù)上,sina公司有自己需求對(duì)其功能進(jìn)行優(yōu)化調(diào)整。
Apache是世界使用排名第一的Web服務(wù)器軟件。它可以運(yùn)行在幾乎所有廣泛使用的計(jì)算機(jī)平臺(tái)上,由于其跨平臺(tái)和安全性被廣泛使用,是最流行的Web服務(wù)器端軟件。
Varnish高性能的開(kāi)源軟件,有公司使用3臺(tái)Varnish服務(wù)器代替了原來(lái)的12臺(tái)squid服務(wù)器,不但滿足需求,而且效果更好。
幾種方向代理軟件的對(duì)比:
(1)Squid用于方向代理的歷史較為悠久,但其工作原理的問(wèn)題,導(dǎo)致其性能受限。
(2)Nginx高效的反向代理軟件,在反向代理方面,其性能是比較突出的。
(3)NCACHE是sina的開(kāi)源項(xiàng)目,可以看作NCACHE的變種版本,其版本維護(hù)等問(wèn)題較多。
(4)Apache的功能強(qiáng)大,這也導(dǎo)致其配置麻煩,其功能也主要的web服務(wù)器使用而不是反向代理服務(wù)器。
(5)Varnish的功能主要要是cache,其代理功能有限。
綜合以上內(nèi)容,最佳的代理軟件首推nginx。
Nginx服務(wù)器的特點(diǎn)是占有內(nèi)存少,并發(fā)能力強(qiáng)。事實(shí)上nginx的并發(fā)能力確實(shí)在同類型的網(wǎng)頁(yè)服務(wù)器中表現(xiàn)較好,國(guó)內(nèi)用戶中有,新浪、163、騰訊等大型公司都在使用此款軟件來(lái)構(gòu)建網(wǎng)絡(luò)反向代理。
3 Nigix具體配置
發(fā)源于Unix系統(tǒng)的軟件,在使用過(guò)程當(dāng)中配置都是一個(gè)困難的事情。主要是需要對(duì)配置命令有所了解,才可以配置。這與windows下的配置來(lái)說(shuō),多少有些繁瑣。以下是對(duì)Nigix的重要配置簡(jiǎn)單介紹。
3.1 附件上傳問(wèn)題
反向代理軟件常常對(duì)文件數(shù)據(jù)有些限制。
Nigix的限制是默認(rèn)上傳大小是1M。大于1M的文件傳輸,會(huì)導(dǎo)致500錯(cuò)誤。以下是改變其默認(rèn)值得配置
http {
includemime.types;
default_type application/octet-stream;
client_max_body_size 30m; #設(shè)置上傳文件大小現(xiàn)在設(shè)置的是30M
}
3.2 多web服務(wù)器配置
upstream gjzy.lzy.edu.cn
{
server 192.168.3.154:80;
}
server {
listen 80;
server_name gjzy.lzy.edu.cn;
location /
{
proxy_pass http://gjzy.lzy.edu.cn;
proxy_set_header Host gjzy.lzy.edu.cn;
proxy_redirect off;
proxy_set_header X-Real-For $proxy_add_x_forwarded_for;
proxy_connect_timeout 600;
proxy_read_timeout 600;
proxy_send_timeout 600;
}
}
參考文獻(xiàn):
[1]嚴(yán)方東,劉玉鳳.利用Nginx實(shí)現(xiàn)網(wǎng)站負(fù)載均衡[J].數(shù)字化用戶,2013.
[2]任世宗,李潤(rùn)知,張茜.基于Nginx的可擴(kuò)展負(fù)載均衡Web站點(diǎn)部署[J].中國(guó)教育網(wǎng)絡(luò),2014.
[3]周泉.反向代理原理和Suselinux下的Squid核心配置及應(yīng)用[J].瀘州職業(yè)技術(shù)學(xué)院學(xué)報(bào),2012.
[4]楊永健.反向代理軟件SQUID在高校圖書館中的應(yīng)用[J].四川圖書館學(xué)報(bào),2007.
作者簡(jiǎn)介:周泉(1982-),男,助理研究員,2013年四川大學(xué)研究生畢業(yè),一直在瀘州職業(yè)技術(shù)學(xué)院網(wǎng)絡(luò)管理中心工作,主要從事學(xué)院信息化建設(shè)和網(wǎng)絡(luò)管理工作。
作者單位:瀘州職業(yè)技術(shù)學(xué)院,四川瀘州 646005