1. 程式人生 > >linux學習筆記之squid服務

linux學習筆記之squid服務

本地 intern 進行 apache服務 only 主機 遠程服務器 顯式 主頁

一,Squid是什麽?
[1] Squid是一種用來緩沖Internet數據的軟件。它是這樣實現其功能的,接受來自人們需要下載的目標(object)的請求並適當地處理這些請求。也就是說,如果一個人想下載一web頁面,他請求Squid為他取得這個頁面。Squid隨之連接到遠程服務器並向這個頁面發出請求。然後,Squid顯式地聚集數據到客戶端機器,而且同時復制一份。當下一次有人需要同一頁面時,Squid可以簡單地從磁盤中讀到它,那樣數據迅即就會傳輸到客戶機上。當前的Squid可以處理HTTP,FTP,GOPHER,SSL和WAIS等協議。但它不能處理如POP,NNTP,RealAudio以及其它類型的東西。
二,squid的正向代理(×××)
客戶端因為網絡或者其他的問題,不能訪問到一臺服務器,如果要訪問到,則需要通過一臺中間的代理服務器,這就是Squid的正向代理。
Squid代理服務器可以訪問到這個Apache服務器,並且緩存訪問到的內容,再將緩存的內容給客戶端看。
步驟1,準備兩臺虛擬機,一臺可以上網,一臺不能上上網但是可以連接到可以上網的主機
2,在能夠上網的主機上輸入yum install -y squid 安裝squid服務,並關閉防火墻,此臺主機作為服務器
3,在服務端,編輯/etc/squid/squid.conf文件。將56行deny改為allow,去掉62行的註釋,重啟服務
技術分享圖片
4,另一臺不能上網的虛擬機作為客戶端,在客戶端打開火狐瀏覽器,點擊左上角的Edit"下的"Perferences",點擊最後的"Advanced"下 的"Network",在"Connetion"後點擊"Settings"。按照下圖輸入IP和端口號,IP是Squid服務器的 IP,端口號是3128。
技術分享圖片
技術分享圖片
必須選中Use this proxy server for all protocols這一項
技術分享圖片
完成後進行測試,在客戶端瀏覽器輸入www。baidu.com就可以看到這個網頁了。但是,訪問的不是真實的網頁,而是172.25.254.183這臺主機的緩存
技術分享圖片
正向代理客戶端訪問的是Squid服務器的緩存,適用於客戶端不能直接訪問目標主頁,需要一個中間服務器Squid。
反向代理(squid服務端沒有apache)
反向代理是客戶端訪問的目標是Squid服務器,Squid服務器通過訪問有apache的主機並緩存其網頁內容,再反饋給客戶端,客戶端看到的依舊是 Squid服務器的緩存,但是與正向代理不同的是,反向代理中客戶端並不知道有apache主機的存在,而直接訪問Squid服務器,而且客戶端不需要自己進行設置。反向代理通常用於apache的訪問加速和減小apache主機的訪問壓力。
步驟1,將客戶端瀏覽器的修改恢復
2,關閉服務端的apache服務
3,squid服務端(IP為172.25.254.183)沒有apache服務

客戶端(IP為172.25.254.133)有apache服務,並且開啟apache服務

真機(IP為172.25.254.83)有apache服務,並且開啟apache服務
4,在服務端編輯/etc/squid/squid.conf,將第59行的"3128"改為"80",並在後面加 上"vhost vport",在第58行添加"cache_peer 172.25.254.133 parent 80 0 proxy-only"。完成後重啟"squid"服務。
技術分享圖片
其中61行是指:通過80端口訪問172.25.254.83主機上的內容;

cache_peer:做反向代理的關鍵字;172.25.254.83:代表後臺真正的web服務器;parent:代理服務器的類型。有parent和slibing兩種(parent代表父親;slibing代表兄弟夥伴);proxy-only:代表只做代理;
反向代理不需要在客戶端進行配置。
完成上述配置後,在客戶端的瀏覽器中,直接輸入要訪問的Squid服務器"172.25.254.183",則可以看到Apache主機"172.25.254.83"的主頁。
技術分享圖片
實驗二:訪問ip,域名均可
該實驗同實驗一的步驟相同:差別就在於squid服務端配置文件的編輯的內容不同,編輯內容如下(59行-61行)
技術分享圖片
round-robin:表示輪詢weight=2:代表權重(2次)。該參數,做輪詢時使用。此處的weight參數可以不加,不加此參數時,表示每個IP輪詢1次
重啟服務
在客戶端編輯本地解析文件,
技術分享圖片
技術分享圖片
該IP是sqiud服務端的IP,而不是apache主機的IP
測試:
第一次:
技術分享圖片
刷新
技術分享圖片
刷新
技術分享圖片
反向代理目的是通過squid服務,使用戶上網更快,同時減輕服務器壓力,例如在西安的用戶需要訪問www。qq。com,不需要去訪問很遠的深圳服務器,只需訪問騰訊在西安的代理服務器,這樣就不用經過很多層網關,用戶提升了上網速度,同時客戶端也減輕了壓力

linux學習筆記之squid服務