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

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