Squid反向代理
-
Squid反向代理服务器位于本地Web服务器和Internet之间,客户端请求访问Web服务器时,DNS将访问的域名解析为Squid反向代理服务器的IP地址,客户端访问Squid代理服务器
- 如果Squid反向代理服务器缓存了该请求的资源,则将该请求的资源返回给客户端,否则反向代理服务器将后台的Web服务器请求资源,然后将应答资源返回给客户端,同时也将该资源缓存在本地,供下一个请求者使用
实验环境
主机名称 | 操作系统 | IP地址 | 主要软件 |
---|---|---|---|
squid | CentOS_7.4_x86_64 | 192.168.100.71 | squid-3.4.6 |
web01 | CentOS_7.4_x86_64 | 192.168.100.72 | httpd |
web02 | CentOS_7.4_x86_64 | 192.168.100.73 | httpd |
client | CentOS_7.4_x86_64 | 192.168.100.101 |
一、配置Squid代理
1、安装Squid服务
没有安装squid服务的朋友可以查看我之前的博文 http://blog.51cto.com/11905606/2177108
2、修改主配置文件
[root@squid ~]# vim /etc/squid.conf
#编辑以下以下参数
#http_port 3128 #注释掉默认端口号
http_port 192.168.100.71:80 accel vhost vport #指定代理服务器接口地址
cache_peer 192.168.100.72 parent 80 0 no-query originserver round-robin max_conn=30 weight=1 name=web1 #指定真实服务器信息
cache_peer 192.168.100.73 parent 80 0 no-query originserver round-robin max_conn=30 weight=1 name=web2
cache_peer_domain web1 web2 www.bt.com #定义域名,匹配web1、web2服务器
3、重启服务
[root@squid ~]# systemctl restart squid.service
二、配置web01服务
1、安装httpd服务
[root@web01 ~]# yum -y install httpd
2、修改主配置文件
[root@web01 ~]# vim /etc/httpd/conf/httpd.conf
Listen 192.168.100.72:80 #编辑监听地址
3、启动服务
[root@web01 ~]# systemctl start httpd.service
4、编辑站点首页
[root@web01 ~]# cd /var/www/html/
[root@web01 html]# echo "this is web01 AAAAAAAAAA" > index.html
三、配置web02服务
1、安装和web01大致相同,相同部分略……
2、编辑监听地址
Listen 192.168.100.73:80 #与web01服务区别
3、编辑默认首页
[root@web02 html]# echo "this is web02 BBBBBBBBBB" > index.html #与web01服务区别
四、client端配置
1、编辑hosts文件
[root@client ~]# vim /etc/hosts
192.168.100.71 www.bt.com #添加相对应的域名和IP地址的解析