CleverCode最近研究了一下squid的安装与配置。现在总结一下。分享给大家。
1 简介
代理服务器英文全称是Proxy Server,其功能就是代理网络用户去取得网络信息。
Squid是一个缓存Internet 数据的软件,其接收用户的下载申请,并自动处理所下载的数据。当一个用户想要下载一个主页时,可以向Squid 发出一个申请,要Squid 代替其进行下载,然后Squid 连接所申请网站并请求该主页,接着把该主页传给用户同时保留一个备份,当别的用户申请同样的页面时,Squid 把保存的备份立即传给用户,使用户觉得速度相当快。Squid 可以代理HTTP、FTP、GOPHER、SSL和WAIS等协议并且Squid 可以自动地进行处理,可以根据自己的需要设置Squid,使之过滤掉不想要的东西。
1.1 工作流程
当代理服务器中有客户端需要的数据时:
a. 客户端向代理服务器发送数据请求;
b. 代理服务器检查自己的数据缓存;
c. 代理服务器在缓存中找到了用户想要的数据,取出数据;
d. 代理服务器将从缓存中取得的数据返回给客户端。
当代理服务器中没有客户端需要的数据时:
1. 客户端向代理服务器发送数据请求;
2. 代理服务器检查自己的数据缓存;
3. 代理服务器在缓存中没有找到用户想要的数据;
4. 代理服务器向Internet 上的远端服务器发送数据请求;
5. 远端服务器响应,返回相应的数据;
6. 代理服务器取得远端服务器的数据,返回给客户端,并保留一份到自己的数据缓存中。
Squid代理服务器工作在TCP/IP的应用层。
1.2 Squid 分类
按照代理类型的不同,可以将Squid 代理分为正向代理和反向代理,正向代理中,根据实现方式的不同,又可以分为普通代理和透明代理。
普通代理:需要客户机在浏览器中指定代理服务器的地址、端口;
透明代理:适用于企业的网关主机(共享接入Internet)中,客户机不需要指定代理服务器地址、端口等信息,代理服务器需要设置防火墙策略将客户机的Web访问数据转交给代理服务程序处理;
反向代理:是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。
2 系统环境
操作系统:CentOS release 6.5 (Final)
Squid版本:squid-2.7.STABLE9-20101125.tar.gz
本次安装squid软件下载地址:
http://download.youkuaiyun.com/detail/clevercode/9337437。
3 安装步骤
安装前确保进行安装Linux常备支持库,否则会出现各种错误!Linux中必备常用支持库的安装详解:http://blog.youkuaiyun.com/clevercode/article/details/45438401。
1)解压squid-2.7.STABLE9-20101125.tar.gz
# cd /usr/local/src/squid
# tar zxvf squid-2.7.STABLE9-20101125.tar.gz
2)进入解压后的目