一、Squid正向代理
1.概念
正向代理(forward proxy),是一个位于客户端和源服务器之间的服务器,为了从源服务器取得内容,客户端向代理发送一个请求并指定目标(源服务器),然后代理向源服务器转交请求并将获得的内容返回给客户端。客户端能够访问源服务器
2.优点
访问以前无法进行访问的页面;拥有缓存,加快客户端访问速度;授权客户端,认证上网;代理可以记录用户访问信息;
配置步骤:
【服务端即代理】 172.25.254.111
[root@localhost ~]# vim /etc/resolv.conf #dns改为114,让搭配squid环境的主机可以上网
3 nameserver 114.114.114.114
[root@localhost ~]# route -n #查看网关
ping 114.114.114.114
可以成功
ping www.baidu.com
可以成功
yum install squid -y
##安装代理软件squid
[root@localhost ~]# vim /etc/squid/squid.conf
56 http_access allow all #允许所有使用vpn通道
59 http_port 3128 #允许使用代理的默认端口
62 cache_dir ufs /var/spool/squid 100 16 256 #提供100M的存储单元,16个一
级目录,每一个一级目录下有256个二级目录
systemctl status firewalld
##确认防火墙关闭
systemctl restart squid
测试:
【客户端】 172.25.254.211
ping 114.114.114.114
ping www.baidu.com
在浏览器里:设置使用代理
浏览器里输入 www.baidu.com 或者 www.qq.com
二、Squid反向代理
1.概念
反向代理(Reverse Proxy),是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器
2.优点
加快客户端访问服务器速度
配置步骤: 在做这个实验之前要取消正向代理的浏览器设定
【服务端】 172.25.254.111 必须装有httpd可以开启80端口
[root@localhost ~]# vim /var/www/html/index.html
1 <h1> 172.25.254.111 </h1>
[root@localhost ~]# systemctl restart httpd
【源服务器】 172.25.254.211 不能有httpd,会占用80端口,此主机的服务端口由squid提供
yum install squid -y
[root@yang Desktop]# vim /etc/squid/squid.conf
56 http_access allow all
59 http_port 80 vhost vport #支持虚拟域和虚拟接口 位置不可调换
60 cache_peer 172.25.254.111 parent 80 0 proxy-only #指定代理,作为父级代理 端口为80 ,崩溃后通知的备用接口,此处无 只作为代理
62 cache_dir ufs /var/spool/squid 100 16 256
[root@yang Desktop]# systemctl stop firewalld
[root@yang Desktop]# systemctl restart squid
测试:
【客户端】 172.25.254.11
http://172.25.254.211
三、Web集群轮循
解决问题:squid充当调度器,如何实现web轮循调度
配置步骤:
【服务端】
[root@yang ~]# vim /etc/squid/squid.conf
60 cache_peer 172.25.254.111 parent 80 0 proxy-only name=web1 round-robin or iginserver ##实行轮循调度, 源服务器(让web1,web2权重1:1分配)
61 cache_peer 172.25.254.110 parent 80 0 proxy-only name=web2 round-robin or iginserver
62 cache_peer_domain web1 web2 www.westos.com
测试:
【客户端】 172.25.254.11
[root@foundation11 ~]# vim /etc/hosts
3 172.25.254.211 www.westos.com
浏览器里访问www.westos.com会发现显示111的内容一次,刷新后显示110内容一次
实现权重分配:(效果:让web1被访问两次后访问web2)
[root@localhost ~]# vim /etc/squid/squid.conf
60 cache_peer 172.25.254.111 parent 80 0 proxy-only name=web1 round-robin or iginserver weight=2
61 cache_peer 172.25.254.110 parent 80 0 proxy-only name=web2 round-robin or iginserver
62 cache_peer_domain web1 web2 www.westos.com #此处必须是域名不能是ip
测试:
【客户端】 172.25.254.11
浏览器里访问www.westos.com会发现显示111的内容2次,刷新后调转到110