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