关于squit

1.1 问题


通过配置代理服务器,实现以下目标:


    代理服务器可以将远程的Web服务器页面缓存在本地

    代理服务器端口设置为80端口

    用户通过访问代理服务器即可获得远程Web服务器上的页面内容

    远程Web服务器对客户端用户是透明的

    利用缓存机制提高网站的响应速度


1.2 方案


使用3台RHEL7虚拟机,其中一台作为Squid代理服务器,该服务器用来连接两个网段,因此需要配置两块网卡,地址分别为192.168.4.5和192.168.2.5。一台作为客户端测试主机,IP地址为192.168.4.100。一台Web服务器,地址为192.168.2.100,该Web服务器为其他代理提供Web数据源。


1.3 步骤

步骤一:构建web服务器


1)使用yum安装web软件包


    [root@web ~]# yum  -y  install  httpd

    .. ..



2)启用httpd服务,并设为开机自动运行


    [root@web ~]# systemctl start httpd  ;  systemctl enable httpd


httpd服务默认通过TCP 80端口监听客户端请求:


    [root@web ~]# netstat  -anptu  |  grep httpd

    tcp        0        0        :::80        :::*        LISTEN        2813/httpd


3)为Web访问建立测试文件

在网站根目录/var/www/html下创建一个名为index.html的首页文件:

[root@web ~]# echo "这是一个测试页面A!!" > /var/www/html/index.html


1)使用yum安装squid软件包:


    [root@Proxy ~]# yum  -y  install  squid

  

2)修改/etc/squid/squid.conf配置文件:


    [root@Proxy ~]# vim /etc/squid/squid.conf

配置59行为 http_port 80 vhost  //设置反向代理

添加此句 visible_hostname www.xxoo.com//设置主机名,默认没该语句

  添加此句   cache_peer 192.168.2.100 parent 80 0 originserver //定义后端服务器的信息,IP为后端服务器的IP地址

把此句注释去掉 cache_dir ufs /var/spool/squid 200 16 256        //硬盘缓存,缓存容量为200M,自动创建16个一级子目录和256个二级子目录

把此句改为http_access allow all //允许本机所有主机使用代理服务器

3)启动squid服务,并设置为开机启动:


    [root@Proxy ~]# systemctl start squid; systemctl enable squid

4)squid服务通过TCP 80端口监听客户端请求:


    [root@Proxy ~]# netstat  -anptu  |  grep 80

    tcp        0        0        :::80        :::*        LISTEN        3213/(squid)


步骤三:客户端测试


2)客户端开启浏览器访问


    [root@client ~]# curl  http://192.168.4.5            //返回的是这是一个测试页面A!!