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 # 添加这行 sudo service ziproxy 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就没有这个问题了,具体原因未知。