Squid定义
Squid是一种用来缓冲Internet数据的软件。如果一个人想下载一web页面,他请求Squid为他取得这个页面。Squid随之连接到远程服务器,并向这个页面发出请求。然后,Squid显式地聚集数据到客户端机器,而且同时复制一份。当下一次 有人需要同一页面时,Squid可以简单地从磁盘中读到它,那样数据迅即就会传输到客户机上。
Squid正向代理
正向代理 是位于客户端和原始服务器之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。
三台主机
172.25.254.39(要能联网)
172.25.254.139
172.25.254.239
1.在物理主机主机中:
给真机添加DNS=114.114.114.114
让IP为172.25.254.23的真机能访问到网络
2.代理主机中
安装squid服务
在/etc/squid/squid.conf中修改配置文件
http_access allow all 允许所有人使用服务
http_port 3180 添加3180作为端口
cache_dir usf /var/spool/squid 100 16 256
将产生的缓存文件存放在/var/spool/squid中
# 缓存大小100M,共建立16个一级目录,256个二级目录
systemctl restart squid 重启服务
firewall-cmd --permanent --add-port=3128/tcp ##打开端口3128
firewall-cmd --reload ##刷新火墙
在客户机中打开浏览器
反向代理
反向代理方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。
在代理主机上
安装squid,进入/etc/squid/squid.conf修改端口为80
指定父级服务器为172.25.254.239
重启服务
在防火墙添加80端口和http,https 服务
在服务器端
在父级主机 172.25.254.239的主机安装apache的服务,并且在/var/www/html写入内容。充当服务器的角色。
客户端
在浏览器中访问172.25.254.39(代理主机)
访问到的内容是172.25.254.39代理主机从服务端172.25.254.239获取的信息
Web集群轮询的搭建
代理主机
安装squid,进入/etc/squid/squid.conf修改端口为80
指定两个父级服务器172.25.254.239和172.25.254.34(都需打开80端口)
[root@squid ~] # vim /etc/squid/squid.conf
59 http_port 80 vhost vport
# 使用80端口,虚拟域名、虚拟端口
60 cache_peer 172.25.254.134 parent 80 0 proxy-only name=web1 round-robin weight=2
# 指定父级web1,80接口
61 cache_peer 172.25.254.239parent 80 0 proxy-only name=web2 round-robin
### round-robin轮询; weight=2权重,访问两次后轮询
62 cache_peer_domain web1 web2 www.lalala.com
# web1、web2之间轮询,访问news.lalala.com时轮询
[root@squid ~] # systemctl restart squid
客户端测试:在本地解析里/etc/hosts里加上解析:
172.25.254.39 www.lalala.com
测试:在172.25.254.139客户端进行测试,在浏览器访问www.lalala.com