一,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服務linux
客戶端(IP爲172.25.254.133)有apache服務,而且開啓apache服務web
真機(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主機上的內容;apache
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,不須要去訪問很遠的深圳服務器,只需訪問騰訊在西安的代理服務器,這樣就不用通過不少層網關,用戶提高了上網速度,同時客戶端也減輕了壓力瀏覽器