Ziproxy 可以壓縮映像轉換到低品質JPEG檔案或JPEG 2000和壓縮( gzip或) HTML和其他文字樣的資料。同時它還提供 HTML/CSS/JS 的最佳化,主動的主機名稱解析,透明代理等。
Ziproxy 適合在以下情況下使用:
ISPs 提供撥號服務
ISPs 提供移動互連網服務
HTTP WAN 最佳化
低頻寬或者點對點連接
假設你已經安裝好Squid3並配置好防火牆,接下來我將簡單介紹一下Ziproxy的安裝部署過程。
1. 通過apt-get安裝Ziproxy:
| 代碼如下 |
複製代碼 |
sudo apt-get install ziproxy
|
2. 修改ziproxy.conf配置Ziproxy:
| 代碼如下 |
複製代碼 |
sudo nano /etc/ziproxy/ziproxy.conf
|
分別找到以下選項並修改如下:
| 代碼如下 |
複製代碼 |
Port = 8080
Address = "127.0.0.1"
TransparentProxy = false
ConventionalProxy = true
UseContentLength = false
ImageQuality = {30,25,25,20}
|
3. 修改squid.conf配置squid3:
| 代碼如下 |
複製代碼 |
|
sudo nano /etc/squid3/squid.conf
acl Safe_ports port 80
acl Safe_ports port 8080 # 添加這行
http_port 3128
cache_peer 127.0.0.1 parent 8080 7 no-query # 添加這行
never_direct allow all # 添加這行4. 重啟Ziproxy和Squid3:
sudo service ziproxy restart
sudo service squid3 restart |
到這裡我們就配置完成了,實際映像壓縮還是有效果的,但是我發現兩個問題,一是映像壓縮減耗費CPU資源,樹莓派明顯有點吃力,這樣導致圖片顯示延遲;二是配置情境不對,這種壓縮是為了節約頻寬資源從而實現在低頻寬網路環境中傳輸資料的,我的樹莓派和電腦是區域網路直串連,不存在低頻寬的問題,這個功能純屬多餘。
還有一點需要注意的是,如果squid3的配置寫成:
cache_peer localhost parent 8080 7 no-query即127.0.0.1被寫成了localhost,在我的樹莓派上會顯示如下錯誤:
錯誤
您所請求的網址(URL)無法擷取
------------------------------------------------------
當嘗試讀取下面的網址(URL)時:
發生了下列的錯誤:
Unable to forward this request at this time.
目前無法將您的請求進行轉送操作
This request could not be forwarded to the origin server or to any parent caches. The most likely cause for this error is that:
The cache administrator does not allow this cache to make direct connections to origin servers, and
All configured parent caches are currently unreachable.
您的請求無法被轉送到原始網路伺服器或其他的上層快取服務器,發生這個問題最可能的原因是:
快取服務器管理員不允許本伺服器與原始網路伺服器直接連結,而
所有本伺服器指定的上層快取服務器都暫時無法連結。寫成127.0.0.1就沒有這個問題了,具體原因未知。