Squid處理web數據請求

1.名詞介紹

VPN:虛擬專用網絡(Virtual Private Network )VPN屬於遠程訪問技術,簡單地說就是利用公用網絡架設專用網絡。

Squid是一種用來緩衝Internet數據的軟件。它的功能爲:接受來自人們需要下載的目標(object)的請求並適當地處理這些請求。也就是說,如果一個人想下載一web頁面,他請求Squid爲他取得這個頁面。Squid隨之連接到遠程服務器(比如:http://squid.nlanr.net/) 並向這個頁面發出請求。然後,Squid顯式地聚集數據到客戶端機器,而且同時複製一份。當下一次有人需要同一頁面時,Squid可以簡單地從磁盤中讀到它,那樣數據信息就會傳輸到客戶機上。當前的Squid可以處理HTTP,FTP,GOPHER,SSL和WAIS等協議。但它不能處理如POP,NNTP,RealAudio以及其它類型的東西。

2.正向代理

正向代理(forward proxy) ,一個位於客戶端和原始服務器之間的服務器,爲了從原始服務器取得內容,客戶端向代理髮送一個請求並制定目標(原始服務器),然後代理向原始服務器轉發請求並將獲得的內容返回給客戶端,客戶端才能使用正向代理。我們平時說的代理就是指正向代理。

在這裏插入圖片描述

1)實驗準備

<1>準備兩臺虛擬機,一臺作爲服務端(代理機),一臺作爲客戶端
<2>客戶端不能ping通網絡,也不能上網
<3>服務端能ping通網絡,也能上網(具體設置可以參照作者前面的博客《網絡配置——Linux入門到精通的難關之一》)
<4>客戶端設置正向代理服務器,當然前提是要知道正向代理服務器的IP地址,還有代理程序的端口。

2)服務端相關配置

<1>安裝Squid軟件

 yum install squid -y

<2>修改服務的配置文件

rpm -qc squid			##查詢配置文件

在這裏插入圖片描述

/etc/squid/squid.conf

修改前:
在這裏插入圖片描述
修改後:56行將拒絕改爲允許所有、62行去掉註釋
在這裏插入圖片描述

systemctl restart squid

上圖中的【100 16 256 】表示緩存目錄爲100M,16個一級目錄,256個二機目錄
在這裏插入圖片描述
3.客戶端相關配置

設置前
在這裏插入圖片描述

<1>設置客戶端IP應爲靜態網
<2>打開瀏覽器進行設置

【Edit】----->【Preferences】
在這裏插入圖片描述
【Advanced】----->【Network】----->【Settings】
在這裏插入圖片描述
【添加代理機的IP和Squid服務接口3128】
在這裏插入圖片描述
4)測試

在網絡不通的情況下依然可以通過代理機訪問各種網頁!

在這裏插入圖片描述

3.反向代理

反向代理(Reverse Proxy)實際運行方式是指以代理服務器來接受internet上的連接請求,然後將請求轉發給內部網絡上的服務器,並將從服務器上得到的結果返回給internet上請求連接的客戶端,此時代理服務器對外就表現爲一個服務器。
在這裏插入圖片描述

反向代理的作用:

(1)保證內網的安全,可以使用反向代理提供WAF功能,阻止web攻擊
(2)負載均衡,通過反向代理服務器來優化網站的負載

正向代理和反向代理的區別

位置不同
	正向代理,架設在客戶機和目標主機之間;
	反向代理,架設在服務器端;
	
代理對象不同
	正向代理,代理客戶端,服務端不知道實際發起請求的客戶端;
	反向代理,代理服務端,客戶端不知道實際提供服務的服務端;

配置過程:

客戶端:

1)在客戶端安裝軟件squid並修改主配置文件

yum install squid -y
vim /etc/squid/squid.conf		##端口修改爲80
systemctl restart squid

在這裏插入圖片描述

2)查看說明,按照模板內容書向主配置文件添加內容

cd /usr/share/doc/squid-3.5.20/
vim squid.conf.documented

在這裏插入圖片描述

3)在主配置文件60行添加下面內容

vhost和vport是虛擬域和虛擬接口;瀏覽器默認端口爲80,我們沒有替代端口故設置爲0
在這裏插入圖片描述

4)在瀏覽器中關閉正向代理的設置
在這裏插入圖片描述

systemctl restart squid

服務端:

1)在目錄/var/www/html目錄下編輯發佈文件
在這裏插入圖片描述

2)在服務端進行測試:

在瀏覽器中訪問自己的IP——得到的時服務端【172.25.6.106】主機的信息
在這裏插入圖片描述
注意:客戶端的httpd服務應處於關閉狀態,不然80端口會被佔用

4.輪循調度

在企業中當站點的服務器負載過大時,我們可以使用輪循調度來降低負載——雖然訪問的IP不同,但是訪問內容是一致的。

在客戶端配置:

1)編輯squid服務的配置文件

vim /etc/squid/squid.conf	

originserver(源服務器) weight=2(訪問兩次後實現網頁的跳轉)
在這裏插入圖片描述
2)對自己的IP進行本地解析
在這裏插入圖片描述

3)測試(訪問域名)——提前清除緩存

第一次訪問:客戶端訪問了172.25.6.106
在這裏插入圖片描述
第二次訪問:客戶端訪問了172.25.106
在這裏插入圖片描述
第三次訪問:客戶端訪問了172.25.6.250,這樣可以大大降低250主機的負載
在這裏插入圖片描述

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