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所示。

p_w_picpath001.png

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
<html>
<title>Welcome</title>
<body>
<h1>1176693506</h1>
</body>
</html>

步骤二:部署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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章