◆馮貴蘭 李正楠
?
Nginx反向代理在高校網站系統中的應用研究
◆馮貴蘭1李正楠2
(1.中國民航飛行學院(廣漢)現代教育技術中心 四川 618307; 2.中國民航飛行學院(廣漢)航空工程學院 四川 618307)
隨著教育信息化在高校的不斷深化發展,高校各院系、部門建立的各類網站、應用系統越來越多。如何在公網IP地址有限的情況下,將校園網web應用安全地對外發布是當前網絡管理員面臨的最大問題。針對這個問題,本文提出了利用Nginx實現校園網環境下的web反向代理的方案,應用此項技術該方案能把校園內諸多Web應用提供給互聯網用戶使用,不僅節約了IP地址,加快了網站訪問速度,而且為校園網內部網站提供了一道安全防線。
網絡安全;web應用;反向代理
隨著教育信息化、數字化校園建設地不斷推進,各個高校都建設了自己的校園網,目前校園網提供的主要服務有:web服務、Email服務、數字圖書館等。而隨著教育信息化的發展,教師和學生都希望在互聯網上查詢到校園內網信息,但是學校的公網IP地址卻有限。另外,高校網站和應用系統是教學、管理和科研的重要平臺,在給師生帶來便利的同時也面臨著嚴重的安全問題。Nginx反向代理技術的出現很好地處理了這種情況,通過配置web反向代理就可以使互聯網用戶使用到校園網內的web應用。本文將著重討論如何利用Nginx實現校園網環境下的web反向代理。
反向代理是指由代理服務器來接收來自互聯網的訪問請求,再把訪問請求轉發到內網對應的網站服務器[1],并從對應網站服務器獲取結果返回給訪問用戶,代理服務器就是進入這些內網網站服務器的入口。反向代理服務器會強制互聯網訪問內部網站的流量經過它,對用戶而言,它就是目的服務器,用戶向它發起訪問請求,它根據配置文件決定把收到的請求轉發到具體的內部Web服務器上,并向用戶發送訪問結果。用戶正常訪問網頁即可,不需要做任何改變或配置。
使用反向代理技術,有以下優點:
(1)節約了有限的IP資源
每個高校的公網IP地址有限,但學校內部又有許多需要對外提供服務的web應用。通過反向代理服務器可以使多個web應用共享相同的公網地址[2][3],這些web服務器只需分配私網IP地址,較好的緩解了公網IP地址短缺問題。
(2)保護了校園網內部web服務器
互聯網用戶只能通過反向代理服務器訪問校園網內的網站,他們只能看到代理服務器的公網IP,無法獲知校園網內web服務器的真實IP地址,這樣就很好地保護了后臺網站的資源安全。除此之外,反向代理服務器在黑客和網站服務器之間增加了一道屏障,減小了入侵的可能性。
(3)加快了web網站的訪問速度
反向代理服務器可以緩存網頁。在用戶向內部Web應用發起訪問請求時,代理服務器得先看緩存里有沒有用戶所需內容[4],若是存在最新的內容,則將該內容直接返回給用戶,而不必再從內部web服務器取得網頁內容,一方面緩解了網站本身的負載,另一方面加快了網站訪問速度,提高了用戶體驗。
Nginx是一款由俄羅斯程序員開發的網頁和反向代理服務器,可在Linux、Windows等多個操作系統中運行。它以高可靠性、配置簡單、低資源消耗等特點,深受國內外網站的喜愛,目前淘寶、京東、中央政采網都選擇了它作為網頁服務器或反向代理服務器。為了穩定可靠的向師生員工提供web服務,本文也選擇了Nginx來部署高校網站系統的web反向代理。
由于學校內網有多臺服務器(如公安局、招生處、人事處)的web服務要映射到學校公網IP地址,因此需要搭建Nginx反向代理服務器。例如,在瀏覽器中輸入police.cafuc.edu.cn就能訪問內網機器172.16.28.11的80端口。配置的Nginx反向代理服務器位于學校機房,統一代理學校要對外開放的web應用,為緩解代理的負載壓力,不讓其成為用戶訪問校內網站的瓶頸,專門配置了兩臺Nginx代理服務器。打開 Nginx 的官方網站 http://nginx.org/,從中可以下載到所需的安裝文件。Nginx編譯安裝之前,需要安裝gcc.i386, pcre-devel.i386, openssl-devel.i386。配置Nginx反向代理服務器的步驟如下:
(1)下載Nginx
wget http://nginx.org/download/nginx-1.11.8.tar.gz
(2)解壓壓縮包
tar zxvf nginx-1.11.8.tar.gz
cd nginx-1.11.8/
./configure --user=www --group=www --prefix=/usr/local/webserver/nginx --with-http_stub_status_module --with-http_ssl_module --with-cc-opt='-O2' --with-cpu-opt=opteron
(3)開始編譯安裝
make &make install
(4)新建站點配置文件police.conf
server
{
listen 80;
server_name police.cafuc.edu.cn;
location / {
root /usr/share/nginx/html;
index index.html index.htm index.asp;
proxy_pass http:// 172.16.28.11;
proxy_redirect default;
}
}
(5)修改配置文件
修改配置文件nginx.conf,添加include police..conf 到http{}段。
重新加載Nginx配置文件,使之修改生效,再把公安局域名police.cafuc.edu.cn指向學校內網靜態IP,這樣就成功的做到了在瀏覽器中輸入police.cafuc.edu.cn的時候訪問的內網服務器172.16.28.11的80端口,實現了校園網內的網站讓互聯網用戶瀏覽。
本文分析了反向代理技術的工作原理、使用優勢,著重講解了利用Nginx技術將學校內網web服務器映射到學校公網IP地址的配置過程。使用反向代理技術不僅節約了IP地址,加快了網站訪問速度,而且為校園網內部網站提供了一道安全防線,因此公網IP地址有限、網站眾多、安全要求高的高校非常適合部署它。
[1]徐華宇.APACHE反向代理在校園網絡中的應用[J].通訊世界,2015.
[2]雷明彬.反向代理技術在數字化校園中的應用[J].電腦與電信,2009.
[3]曲波,吳兆芝.校園網反向代理服務器的應用與開發[J].計算機系統應用,2002.
[4]章偉輝,衛偉,周狄挺.反向代理技術在校園網中的應用[J].福建電腦,2006.
[5]車樹炎,黃銀瑞.反向代理技術在高校網站系統中的應用研究[J].電腦編程技巧與維護,2013.
[6]劉萬順.試析反向代理服務器在高校校園網絡中的應用[J].湖北警官學院學報,2005.
[7]宿大東.采用Nginx遠程訪問圖書館內網數字資源[J]. 內蒙古科技與經濟,2013.
[8]袁修春.運用反向代理保護校園網網站安全的研究與實現[J].中國教育信息化,2006.