1. 程式人生 > >Linux 基礎 Apache 之 正向代理與反向代理

Linux 基礎 Apache 之 正向代理與反向代理

一、正向代理

一、概念:

        正向代理,意思是一個位於客戶端和原始伺服器(origin server)之間的伺服器,為了從原始伺服器取得內容,客戶端向代理髮送一個請求並指定目標(原始伺服器),然後代理向原始伺服器轉交請求並將獲得的內容返回給客戶端。客戶端才能使用正向代理。

二、測試環境

真機 : 172.25.254.3

apache主機 : 172.25.254.103

squid主機:172.25.254.203

正向代理的實現(翻牆)
1.在真實主機上連上wifi,讓主機可以ping通百度,並開啟路由功能


2.在squid主機中配置網路

重啟網路

3.測試:squid主機可以ping通百度

3.在squid主機中安裝squid服務

4.修改squid主機的squid配置檔案

編輯vim /etc/squid/squid.conf

第56行:http_access allow all
第59行:http_port 3128
第62行:取消註釋

/var/spool/squid  表示快取目錄
16    表示有16個一級目錄
256   表示有256個二級目錄
100   表示快取大小不能超過100M

5.將squid主機的火牆關掉
systemctl stop firewalld

6.關掉apache主機的火牆

這裡的apache主機上裝有http和https,用於測試

7.重啟服務後會看到/var/spool/squid目錄下,有16個一級目錄,256個二級目錄
systemctl start squid


8.測試:

apache主機不能ping通網路

在apache主機瀏覽器中中Edit->preferences->Advanced->Network->settings

進入網頁Edit  點最後一個 點Advanced(齒輪)點Network

手動新增代理伺服器,並將埠設定為3128

在瀏覽器中輸入百度網址,則可以看到百度的頁面,說明正向代理成功

去掉代理,則再輸入百度網址,就不能訪問了

二、反向代理

一、概念

        反向代理(Reverse Proxy)方式是指以代理伺服器來接受internet上的連線請求,然後將請求轉發給內部網路上的伺服器,並將從伺服器上得到的結果返回給internet上請求連線的客戶端,此時代理伺服器對外就表現為一個反向代理伺服器。

二、CDN簡介

         CDN的全稱是Content Delivery Network,即內容分發網路。其基本思路是儘可能避開網際網路上有可能影響資料傳輸速度和穩定性的瓶頸和環節,使內容傳輸的更快、更穩定。通過在網路各處放置反向代理節點伺服器所構成的在現有的網際網路基礎之上的一層智慧虛擬網路,CDN系統能夠實時地根據網路流量和各節點的連線、負載狀況以及到使用者的距離和響應時間等綜合資訊將使用者的請求重新導向離使用者最近的服務節點上。其目的是使使用者可就近取得所需內容,解決 Internet網路擁擠的狀況,提高使用者訪問網站的響應速度。

反向代理的實現

在做這個實驗之前要取消正向代理的瀏覽器設定

1.在squid主機中編輯squid配置檔案

vhost       表示虛擬主機
vport       表示虛擬埠
parent    表示172.25.254.103是它的父級目錄
80       表示訪問父級目錄的80埠
0      表示沒有備用機
proxy-only   表示只做代理

2.重新啟動服務

3.修改真機解析檔案中的ip為squid主機的ip

4.測試:

在真機瀏覽器中,輸入172.25.254.103,可以看到相應釋出檔案內容

在真機瀏覽器中,輸入172.25.254.203(squid主機ip),顯示172.25.254.103( apache主機ip)/var/www/html中預設釋出檔案中的內容

說明反向代理成功

輪詢代理

在squid主機中編輯squid配置檔案

這裡需要兩臺配置好apache的主機,ip分別為:

172.25.254.103

172.25.254.130

重啟服務

3.測試:

在真機中輸入www.westos.com,顯示172.25.254.103主機/var/www/html中預設釋出檔案中的內容

重新整理一次頁面,就會顯示172.25.254.130主機/var/www/html中預設釋出檔案中的內容

4.我們還可以新增權重係數weight=2 將其新增到ip為172.25.254.103主機後則表示訪問兩次172.25.254.103主機,在訪問一次172.25.254.130主機。

三、CDN的補充

apache + squid =cdn 內容釋出網路

關鍵技術

(1)內容釋出:它藉助於建立索引、快取、流分裂、組播(Multicast)等技術,將內容釋出或投遞到距離使用者最近的遠端服務點(POP)處;

(2)內容路由:它是整體性的網路負載均衡技術,通過內容路由器中的重定向(DNS)機制,在多個遠端POP上均衡使用者的請求,以使使用者請求得到最近內容源的響應;

(3)內容交換:它根據內容的可用性、伺服器的可用性以及使用者的背景,在POP的快取伺服器上,利用應用層交換、流分裂、重定向(ICP、WCCP)等技術,智慧地平衡負載流量;

(4)效能管理:它通過內部和外部監控系統,獲取網路部件的狀況資訊,測量內容釋出的端到端效能(如包丟失、延時、平均頻寬、啟動時間、幀速率等),保證網路處於最佳的執行狀態。

主要特點

1、本地Cache加速 提高了企業站點(尤其含有大量圖片和靜態頁面站點)的訪問速度,並大大提高以上性質站點的穩定性

2、映象服務 消除了不同運營商之間互聯的瓶頸造成的影響,實現了跨運營商的網路加速,保證不同網路中的使用者都能得到良好的訪問質量。

3、遠端加速 遠端訪問使用者根據DNS負載均衡技術智慧自動選擇Cache伺服器,選擇最快的Cache伺服器,加快遠端訪問的速度

4、頻寬優化 自動生成伺服器的遠端Mirror(映象)cache伺服器,遠端使用者訪問時從cache伺服器上讀取資料,減少遠端訪問的頻寬、分擔網路流量、減輕原站點WEB伺服器負載等功能。

5、叢集抗攻擊 廣泛分佈的CDN節點加上節點之間的智慧冗餘機制,可以有效地預防黑客入侵以及降低各種D.D.o.S攻擊對網站的影響,同時保證較好的服務質量 。