代理伺服器 網路加速 HTTP 上網監控 開源碼 網路 監控

Squid快取搭配Sarg 加速瀏覽還能監控連外

2019-01-15
使用者最在意的往往都是連結網路的品質,所以網管人員最基本的工作就是讓網路連線維持順暢,本文將示範安裝快取伺服器Squid來增進使用者瀏覽的速度,並透過Sarg來解析使用者的連線紀錄,然後透過指令來產生HTML報表,藉此掌握對外連線的狀況。
對於一般使用者而言,每日最常應用的網路服務應該就是HTTP服務。相信管理者也經常接到使用者抱怨上網速度不夠快的投訴,因此在本文中筆者將介紹一套開源碼社群中頗負盛名的快取伺服器軟體Squid(官方網址為http://www.squid-cache.org/)來增進使用者瀏覽的速度。

除此之外,也會介紹另一個用來解析使用者連線紀錄的軟體Sarg(https://sourceforge.net/projects/sarg/),讓管理者能更加有效地掌握使用者的瀏覽行為。

什麼是Squid

Squid是一套應用於網站服務的快取代理伺服器(Cache Proxy)主要支援HTTP、HTTPS、FTP等主要的網路服務。在應用上可分為正向代理伺服器(Forward Proxy)和反向代理伺服器(Reverse Proxy),分述如下:

正向代理伺服器

正向代理伺服器(Forward Proxy)是最常見的應用,通常是用來加速使用者端(Client)的瀏覽速度,正向代理伺服器架設於使用者和網站伺服器端之間,使用者可以透過正向代理伺服器來對外存取。

當使用者端要存取外部網站伺服器時,便會先行搜尋正向代理伺服器內的快取空間是否有符合的網頁資料,如果有符合的資料(Hit,命中率)就直接由正向代理伺服器取得資訊,而不必再向外部的網站伺服器取得資訊。藉由此類機制來降低頻寬的消耗,並加快瀏覽的速度。

反之,如果在正向代理伺服器的快取空間內沒有發現符合的網頁資訊,此時正向代理伺服器便會先至外部網站取得相關的網頁資料,並暫存至正向代理伺服器的快取空間後,再將網頁資料回傳至使用者端。

由上述的說明即可得知,要使用正向代理伺服器來增快使用者端的瀏覽速度,其關鍵即在於資料的命中率。當命中率越高時,提升瀏覽速度的效果就越顯著。

除了增進客戶端存取外部網站的效能之外,正向代理伺服器的另外一個用處是可用來隱藏客戶端的真實IP,由於使用者端都是透過正向代理伺服器來存取外部網站的資料,因此對於外部網站而言,它所看到的來源即為該正向代理伺服器的IP,而非實際使用者端所使用的IP。

除此之外,正因為使用者端皆是透過正向代理伺服器連線,因此相關連線的資訊也會以稽核紀錄(Log)的形式儲存在正向代理伺服器內,在本文中即是利用解析相關的稽核紀錄來得知使用者所瀏覽的站資訊。

反向代理伺服器

反向代理伺服器(Reverse Proxy)正好與正向代理伺服器作用相反,反向代理伺服器架設於提供服務的網站伺服器之前。當使用者欲存取網站伺服器的資訊,就需要向反向代理伺服器提出要求,再由反向代理伺服器向網站伺服器取得資訊,然後將資訊回傳至使用者。藉此隔離來源端與網站伺服器的直接接觸,而提升網站伺服器的安全。

安裝Squid快取伺服器

先至Squid官方網站取得最新版的原始碼程式(本文使用版本為4.3)進行編譯安裝,安裝步驟如下(其中#為註解符號):

adduser squid  #新增名稱為squid的
使用者帳號
./configure --prefix=/usr/local/
squid  #組態squid程式,並設定安裝在
/usr/local/squid目錄下
make  #編譯squid程式
make install #在編譯成功後,將相關的
程式及組態檔安裝至/usr/local/squid
目錄下

在安裝成功後,就會產生一個名稱「squid」的主程式及squid.conf組態檔。

quid.conf重要組態說明

接下來,依序說明squid.conf的相關重要組態。

cache_dir ufs

設定要儲存快取資料所需要的磁碟儲存空間,設定語法如下:

cache_dir ufs [快取資料儲存目錄] 
[磁碟空間容量] [主目錄數量] [次目錄數量]

以下範例即表示在「/usr/local/squid/spool」目錄下儲存快取資料,限制磁碟使用量為100MB,並在該目錄的第一層目錄內設定16個次目錄,而且限定每個次目錄內不得超過256個的次目錄:


追蹤我們Featrue us

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!