######squid######

 百度百科:Squid cache(简称为Squid)是一个流行的自由软件(GNU通用公共许可证)的代理服务器和Web缓存服务器。Squid有广泛的用途,从作为网页服务器的前置cache服务器缓存相关请求来提高Web服务器的速度,到为一组人共享网络资源而缓存万维网,域名系统和其他网络搜索,到通过过滤流量帮助网络安全,到局域网通过代理上网。Squid主要设计用于在Linux一类系统运行。 

 

老李所讲:squid是一种高性能的代理缓存服务器,分为正向代理和反向代理,正向代理就是×××,反向代理指web服务其加速,就是指如果一个人想要下载一web页面,他请求squid为他取得这个页面。squid随之连接到远程服务器并向这个页面发出请求。然后squid再把数据到客户端服务器,同时复制一份。当下一次有人需要同一个页面时,squid可以简单地从磁盘上读到它,这样数据很快就会传输到客户主机上。

 

 

一 反向代理:

 

客户端请求访问web服务时,dns将访问的域名解析为squid反向代理服务器的ip地址,这样客户端的url请求将被发送到反向代理服务器。如果squid反向代理服务器中缓存了该请求的资源,则将该请求直接返回给客户端,否则squid反向代理服务器将向后台web服务器请求资源,然后将请求的应答返回给客户端,同时也将该应答缓存在本地,给下一个情求者使用。

 

1) yum install squid -y

2) systemctl start squid

3) systemctl stop firewalld

4) netstat -antlpe | grep squid               ###查看squid的端口###

tcp6       0      0 :::3128                 :::*                    LISTEN      0          219934     1856/(squid-1)     

5) vim /etc/squid/squid.conf

 wKiom1kb_ljjTHibAAAc-gQ4WWw547.png

###缓存请求到的资源的存放路径以及存放的内容的大小###

56 http_access allow all                       ###允许所有人访问###

59 http_port 80 vhost vport           ###端口为80,虚拟主机,虚拟端口##

60 cache_peer 172.25.254.212 parent 80 0 no-query originserver name=wb1 round-robin        

61

62 cache_peer 172.25.254.12 parent 80 0 no-query originserver name=wb2 round-robin

63 cache_peer_domain www.westos.com wb1 wb2

###客户端发出的请求如果为www.westos.com,则squid向172.25.254.212的80端口或者172.25.254.12的80端口通过轮询的方式发送请求###

 

66 cache_dir ufs /var/spool/squid 100 16 256

wKiom1kb_qWw8C9UAACM511KzWs011.png 

name=wb1:      ###表示cache——peer的一个别名###

80      :       ###web服务器的端口###     

0       :     ###web服务器没有icp端口,所以设为0。如果是squid则指若该squid损坏了,不通过icp查询接替的squid,如果要查询接替的写3130##

172.25.254.12 parent                ###指父节点###

172.25.254.212 parent               ###指父节点###

no-query                    ##直接拿,不查询

round-robin :指squid通过轮询的方式将请求发到其中一台父节点

originserver :指名是源服务器

 

6) systemctl restart squid.service

 

 

测试:

在安装了squid的服务器上先进行本地解析:

vim /etc/hosts

172.25.254.112   www.westos.com

 

然后再在firefox输入www.westos.com,刷新的时候就会发现内容交替变化

 wKioL1kb_uOBPYqzAABDfwZPFbc336.png

wKiom1kb_wmyPPAgAAAnwD6kvS8868.png

 

cache_peer 172.25.254.212 parent 80 0 no-query originserver name=wb1 round-robin  weight=3      

cache_peer 172.25.254.12 parent 80 0 no-query originserver name=wb2 round-robin  weight=1

###指访问172.25.254.212三次,再访问172.25.254.12一次,如此循环###

 

 

二 正向代理: 

1) yum install squid -y

2) systemctl start squid

3) systemctl stop firewalld

4) netstat -antlpe | grep squid               ###查看squid的端口###

tcp6       0      0 :::3128                 :::*                    LISTEN      0          219934     1856/(squid-1)     

5) vim /etc/squid/squid.conf

cache_dir ufs /var/spool/squid 100 16 256        ###缓存请求到的资源的存放路径以及存放的内容的大小###

6) systemctl restart squid.service                   ###重启服务###

 

 

客户主机上:

firefox : edit--> preferences -->

advanced --> network

 wKioL1kb_1nRinv9AAEmMgukSOU648.png

--> settings : manual proxy configuration --> 写代理服务器的ip和squid端口(在哪测写的就是哪)

wKioL1kb_6yB3oa5AAB3j0h2UCQ196.png