反向代理---squid的实现
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了反向代理---squid的实现相关的知识,希望对你有一定的参考价值。
一、目的通过配置代理服务器,实现以下目标:
代理服务器可以将远程的Web服务器页面缓存在本地
代理服务器端口设置为80端口
用户通过访问代理服务器即可获得远程Web服务器上的页面内容
远程Web服务器对客户端用户是透明的
利用缓存机制提高网站的响应速度
二、方案
使用3台RHEL7虚拟机,其中一台作为Squid代理服务器(B主机),该服务器用来连接两个网段,因此需要配置两块网卡,地址分别为192.168.4.102和192.168.2.102。一台作为客户端测试主机(主机A),IP地址为192.168.4.101。一台Web服务器(主机C),地址为192.168.2.103,该Web服务器为其他代理提供Web数据源。
三、实现步骤
1、在主机C上安装web软件包,启动服务,开机自启
yum -y install httpd systemctl restart httpd systemctl enable httpd
2、为Web访问建立测试文件:在网站根目录/var/www/html下创建一个名为index.html的首页文件
echo "test" > /var/www/html/index.html
3、部署squid代理服务器,在主机B上安装squid代理软件
yum -y install squid.x86_64
4、修改/etc/squid/squid.conf配置文件:vim /etc/squid/squid.conf
56 http_access allow all //允许所有的主机可以访问
59 http_port 80 vhost //设置反向代理,并更改端口为80
60 visible_hostname www.haha.com //设置主机名,默认没有该语句,主机名就是后面你需要访问的实际网站,我这里随便取一个名字
61 cache_peer 192.168.2.103 parent 80 0 originserver //定义后端真实服务器信息,默认没有,需自己手动添加,原始的服务器是192.168.2.103
64 cache_dir ufs /var/spool/squid 200 16 256 //硬盘缓存,缓存容量为200M,自动创建16个一级子目录和256个二级子目录
5、启动squid服务,并设置为开机启动:
systemctl start squid; systemctl enable squid
6、squid服务通过TCP 80端口监听客户端请求,可以用下面的命令来查看
netstat -anptu | grep 80
四、测试
客户端192.168.4.101访问192.168.4.102,开启浏览器访问,返回的页面是192.168.2.103的页面。因为我这里没有做DNS,所以直接用IP来访问
注:squid代理主要是用磁盘空间来做缓存
以上是关于反向代理---squid的实现的主要内容,如果未能解决你的问题,请参考以下文章