千家信息网

Http反响代理

发表于:2024-11-11 作者:千家信息网编辑
千家信息网最后更新 2024年11月11日,1 案例1:反向代理1.1 问题通过配置代理服务器,实现以下目标:代理服务器可以将远程的Web服务器页面缓存在本地代理服务器端口设置为80端口用户通过访问代理服务器即可获得远程Web服务器上的页面内容
千家信息网最后更新 2024年11月11日Http反响代理

1 案例1:反向代理

1.1 问题

通过配置代理服务器,实现以下目标:

  1. 代理服务器可以将远程的Web服务器页面缓存在本地

  2. 代理服务器端口设置为80端口

  3. 用户通过访问代理服务器即可获得远程Web服务器上的页面内容

  4. 远程Web服务器对客户端用户是透明的

  5. 利用缓存机制提高网站的响应速度

1.2 方案

使用3台RHEL7虚拟机,其中一台作为Squid代理服务器,该服务器用来连接两个网段,因此需要配置两块网卡,地址分别为192.168.4.5和192.168.2.5。一台作为客户端测试主机,IP地址为192.168.4.100。一台Web服务器,地址为192.168.2.100,该Web服务器为其他代理提供Web数据源,拓扑如图-1所示。

1.3 步骤

实现此案例需要按照如下步骤进行。

步骤一:构建web服务器

1)使用yum安装web软件包

[root@web ~]# yum -y install httpd

[root@web ~]# rpm -q httpd
2)启用httpd服务,并设为开机自动运行

[root@web ~]# systemctl restart httpd ; systemctl enable httpd

httpd服务默认通过TCP 80端口监听客户端请求:

[root@web ~]# netstat -anptu | grep 80
tcp6 0 0 :::80 :::* LISTEN 4206/httpd

3)为Web访问建立测试文件

在网站根目录/var/www/html下创建一个名为index.html的首页文件:

[root@web ~]# cat /var/www/html/index.html

Welcome

1176693506



步骤二:部署Squid代理服务器

1)使用yum安装squid软件包:

[root@squid ~]# yum -y install squid
[root@squid ~]# rpm -q squid
squid-3.3.8-26.el7.x86_64

2)修改/etc/squid/squid.conf配置文件:

[root@squid ~]# tail -5 /etc/squid/squid.conf
visible_hostname svr5.sumo.com
cache_peer 192.168.2.100 parent 80 0 originserver
cache_mem 128 MB
cache_dir ufs /var/spool/squid 200 16 128
http_access allow all

3)启动squid服务,并设置为开机启动:

[root@squid ~]# systemctl restart squid ; systemctl enable squid

4)squid服务通过TCP 80端口监听客户端请求:

[root@squid ~]# netstat -anptu | grep squid
tcp6 0 0 :::80 :::* LISTEN 3769/(squid-1)

步骤三:客户端测试

通过/etc/hosts文件,配置域名解析,将域名解析为Squid服务器IP地址

[root@squid ~]# elinks --dump http://svr5.sumo.com
1176693506

0