什么是反向代理服務(wù)器和負(fù)載均衡器?

      反向代理服務(wù)器(或反向代理)促進用戶對 Web 服務(wù)器/應(yīng)用程序服務(wù)器的請求和服務(wù)器的響應(yīng)。負(fù)載均衡器接收用戶請求,將它們相應(yīng)地分配給一組服務(wù)器,然后將每個服務(wù)器的響應(yīng)轉(zhuǎn)發(fā)給其各自的用戶。從上面的簡要定義可以看出,反向代理和負(fù)載均衡器有一些重疊的功能。

      什么是反向代理服務(wù)器和負(fù)載均衡器?-南華中天

      例如,它們都充當(dāng)在客戶端-服務(wù)器模型中轉(zhuǎn)發(fā)請求和響應(yīng)的中間節(jié)點。雖然它們在表面上看起來相似,但它們是兩種不同的架構(gòu),在網(wǎng)絡(luò)安全中扮演著不同的角色。本文詳細(xì)解開反向代理和負(fù)載均衡器之間的差異,以消除兩者之間的任何混淆。

      什么是反向代理服務(wù)器?

      反向代理服務(wù)器是用戶和 Web 服務(wù)器之間的中間設(shè)備或應(yīng)用程序。反向代理是一種代理服務(wù)器,旨在通過確保用戶永遠(yuǎn)不會與原始服務(wù)器直接通信來增強 Web 服務(wù)器的安全性。

      反向代理如何工作?

      典型的反向代理操作如下:

      1. 用戶發(fā)出HTTP請求(通過防火墻),例如將網(wǎng)站的 URL 輸入到他們的 Web 瀏覽器中。
      2. 反向代理接收用戶的請求。
      3. 反向代理“允許”或“拒絕”用戶的請求。
      4. 如果允許,反向代理會將請求轉(zhuǎn)發(fā)到 Web 服務(wù)器。如果被拒絕,它會向用戶發(fā)送錯誤或重定向消息。
      5. Web 服務(wù)器將響應(yīng)(網(wǎng)站數(shù)據(jù))發(fā)送回反向代理。
      6. 反向代理將服務(wù)器的響應(yīng)轉(zhuǎn)發(fā)給用戶。

      反向代理從它們的配置方式接收它們的名稱——“反向”到標(biāo)準(zhǔn)代理服務(wù)器(或正向代理)。正向代理位于用戶和 Internet 之間,而反向代理位于網(wǎng)絡(luò)邊緣和 Internet 之間。

      反向代理的類型

      反向代理有硬件和軟件兩種形式。

      有許多流行的開源反向代理軟件解決方案,例如:

      • Apache HTTP 服務(wù)器
      • 阿帕奇交通服務(wù)器
      • HAProxy
      • NGINX
      • Tr?f?k
      • 清漆 HTTP 緩存

      Web 應(yīng)用程序防火墻 (WAF) 是一種反向代理,通常部署在商業(yè)用例中。WAF 監(jiān)控 Web 流量并保護組織的 Web 應(yīng)用程序免受網(wǎng)絡(luò)攻擊,例如SQL 注入、敏感數(shù)據(jù)盜竊、跨站點腳本和其他漏洞。另一種類型的反向代理是第 7 層負(fù)載均衡器。第 7 層負(fù)載均衡器將 Web 請求分發(fā)到多個服務(wù)器,以提高客戶端網(wǎng)絡(luò)性能和用戶體驗。

      什么是反向代理服務(wù)器和負(fù)載均衡器?-南華中天

      反向代理的好處

      雖然反向代理的主要目標(biāo)是保護服務(wù)器端操作,但它的功能為客戶端和服務(wù)器都提供了好處。

      增強的安全性

      • 威脅防護:由于位于網(wǎng)絡(luò)邊緣,反向代理可防止惡意客戶端直接訪問和利用組織內(nèi)部網(wǎng)絡(luò)中的 任何漏洞。
      • 隱私:反向代理隱藏源服務(wù)器的 IP 地址以增加數(shù)據(jù)安全性,防止 Internet 服務(wù)提供商 (ISP)、Web 服務(wù)和數(shù)據(jù)中心監(jiān)控其流量并可能導(dǎo)致數(shù)據(jù)泄露。
      • 過濾:它們能夠?qū)⒛承┛蛻舳?IP 地址列入黑名單并限制客戶端可以發(fā)起的連接數(shù)量,這有助于防止DDoS 攻擊。

      負(fù)載均衡

      組織可以使用反向代理在多個后端服務(wù)器之間均勻高效地分配流量。負(fù)載平衡有助于防止站點關(guān)閉,因為在發(fā)生網(wǎng)絡(luò)中斷或 DDoS 攻擊時,流量可以重新路由到備用服務(wù)器(而不是依賴于一臺服務(wù)器)。

      網(wǎng)絡(luò)加速

      反向代理可實現(xiàn)更快的 Web 服務(wù)器響應(yīng)時間,改善站點加載時間和用戶體驗。他們使用各種網(wǎng)絡(luò)加速技術(shù)來實現(xiàn)更高的速度。

      • 緩存:每次 Web 服務(wù)器發(fā)送響應(yīng)時,反向代理都會存儲它的本地副本。下次用戶發(fā)出相同的請求時,代理可以直接響應(yīng)用戶,而不是把請求轉(zhuǎn)發(fā)到 Web 服務(wù)器,減少了響應(yīng)時間,也減輕了服務(wù)器的負(fù)載。
      • 壓縮:反向代理使用壓縮算法來減少發(fā)送服務(wù)器響應(yīng)所需的帶寬,從而提高流量速度。
      • SSL/TLS 卸載:反向代理可以對所有傳入的請求和響應(yīng) 執(zhí)行 SSL加密和身份驗證。

      由于代理充當(dāng)SSL連接的端點而不是 Web 服務(wù)器,因此 Web 服務(wù)器可以更快地提供內(nèi)容。

      什么是負(fù)載均衡器?

      負(fù)載均衡器充當(dāng)用戶和一組服務(wù)器之間的中介。負(fù)載平衡器用于減輕高流量服務(wù)器的壓力。它們將客戶端請求路由到最合適的服務(wù)器,從而最大限度地提高網(wǎng)絡(luò)速度和效率。通過確保運營效率,負(fù)載平衡器可幫助組織為其 IT 基礎(chǔ)架構(gòu)建立可擴展的基礎(chǔ)。

      負(fù)載均衡器如何工作?

      通常,負(fù)載均衡器的操作如下:

      1. 用戶發(fā)出請求,例如 HTTP 請求——將網(wǎng)站的 URL 輸入到他們的 Web 瀏覽器中。
      2. 負(fù)載均衡器接收用戶的請求。
      3. 負(fù)載均衡器將請求發(fā)送到一組不同服務(wù)器中的單個服務(wù)器。
      4. 所選服務(wù)器將響應(yīng)(網(wǎng)站數(shù)據(jù))發(fā)送回負(fù)載平衡器。
      5. 負(fù)載均衡器將服務(wù)器的響應(yīng)轉(zhuǎn)發(fā)給用戶。

      雖然上面的示例解釋了負(fù)載均衡器如何處理 Web 請求,但負(fù)載均衡器可以支持許多其他協(xié)議,具體取決于它們的類型。負(fù)載均衡器選擇將用戶請求轉(zhuǎn)發(fā)到哪個服務(wù)器的方式取決于它使用的算法。

      什么是反向代理服務(wù)器和負(fù)載均衡器?-南華中天

      負(fù)載平衡算法

      負(fù)載平衡算法是一組規(guī)則,用于確定在一組不同的服務(wù)器中選擇哪個服務(wù)器。

      有幾種類型的負(fù)載平衡算法。

      • 哈希:根據(jù)預(yù)定義的密鑰選擇服務(wù)器,例如客戶端的 IP 地址。 ?
      • 最少連接:向處理最少現(xiàn)有客戶端連接的服務(wù)器發(fā)送請求。?
      • 最短響應(yīng)時間:使用最快響應(yīng)時間和最少活動連接的組合公式。?
      • 兩種選擇的力量:隨機選擇兩臺服務(wù)器,然后選擇具有最少活動連接的服務(wù)器。 ?
      • Round Robin:以順序方式在服務(wù)器之間分發(fā)請求。

      負(fù)載均衡器的類型

      負(fù)載均衡器按照它們使用的數(shù)字系統(tǒng)以及它們運行的??開放系統(tǒng)互連 (OSI) 模型的特定層進行分類。

      數(shù)字系統(tǒng)負(fù)載均衡器

      硬件負(fù)載平衡器設(shè)備

      硬件負(fù)載平衡器設(shè)備通常在數(shù)據(jù)中心中找到。它們是通常在傳輸層 (L4) 或應(yīng)用層 (Layer 7) 上運行的物理設(shè)備。

      軟件負(fù)載均衡器 (SLB)

      軟件負(fù)載平衡器可作為負(fù)載平衡器即服務(wù) (LBaaS) 購買,例如,作為應(yīng)用交付控制器 (ADC) 的一個功能,或者可以直接安裝到服務(wù)器上。

      OSI 層的負(fù)載均衡器

      應(yīng)用程序負(fù)載均衡器(7 級負(fù)載均衡器或反向代理)

      應(yīng)用程序負(fù)載均衡器在 OSI 模型的第 7 層(最高層)上運行。它根據(jù)應(yīng)用程序級變量(例如 URL、HTTP 標(biāo)頭和 SSL)分發(fā) Web 請求。第 7 層負(fù)載均衡器是一個反向代理,因為它處理應(yīng)用程序級別的請求——HTTP 運行的層。

      網(wǎng)關(guān)負(fù)載均衡器

      網(wǎng)關(guān)負(fù)載平衡器在第 3 層 (L3) 上運行。由于所有流量都流經(jīng)一個入口和出口點,因此易于擴展。

      全局服務(wù)器負(fù)載均衡器

      全局服務(wù)器負(fù)載均衡器可以連接到世界各地的服務(wù)器。它響應(yīng)來自地理上最接近請求用戶的服務(wù)器的用戶請求。

      網(wǎng)絡(luò)負(fù)載均衡器(四級負(fù)載均衡器)

      網(wǎng)絡(luò)負(fù)載平衡器在第 4 層 (L4) 上運行。它根據(jù)網(wǎng)絡(luò)變量分配流量,包括 IP 協(xié)議、源 IP、源端口、目標(biāo) IP 和目標(biāo)端口。

      什么是反向代理服務(wù)器和負(fù)載均衡器?-南華中天

      負(fù)載均衡器的好處

      負(fù)載平衡器能夠在多個高流量服務(wù)器之間有效地分配用戶請求的能力為客戶端-服務(wù)器模型提供了許多互惠互利的好處。

      增強的用戶體驗

      負(fù)載均衡器執(zhí)行健康檢查以識別服務(wù)器中斷,然后將用戶流量重新路由到正常運行的服務(wù)器。他們通過攔截給用戶的錯誤響應(yīng)消息或向服務(wù)器發(fā)送直接請求來進行健康檢查,這些請求需要特定的響應(yīng)來表明服務(wù)器是健康的。負(fù)載均衡器在服務(wù)器錯誤事件中的干預(yù)意味著用戶體驗到的錯誤消息要少得多并避免響應(yīng)延遲。

      更高的可靠性

      負(fù)載均衡器在多服務(wù)器部署中實現(xiàn),確保請求均勻高效地分布。通過防止服務(wù)器過載和流量瓶頸,負(fù)載均衡器為用戶提供了更高的可靠性。許多服務(wù)器而不是單個服務(wù)器的可用性確保了用戶請求仍然得到滿足,即使在發(fā)生中斷的情況下也是如此。

      會話持久性

      由于HTTP/S是一種無狀態(tài)協(xié)議,會話持久性并不直觀,但對于許多應(yīng)用程序有效執(zhí)行而言是必需的。例如,電子商務(wù)網(wǎng)站等 Web 應(yīng)用程序依靠會話持久性來保持購物籃處于活動狀態(tài)。負(fù)載平衡器確保特定用戶(即來自特定 IP 地址)的請求在會話期間始終發(fā)送到同一臺服務(wù)器。

      反向代理和負(fù)載均衡器有什么區(qū)別?

      反向代理和負(fù)載均衡器都提高了應(yīng)用交付網(wǎng)絡(luò)的性能,但它們在這種優(yōu)化中扮演的角色并不完全相同。反向代理特別是 7 級負(fù)載均衡器,專門處理 Web 請求。負(fù)載均衡器可以在 OSI 模型的 3-7 級上運行,在 Web 請求之上處理多種類型的請求,例如 DNS、SSL、TCP。

      反向代理可以執(zhí)行負(fù)載均衡器的其他角色。例如,反向代理還可以:

      • 作為 WAF 運行
      • 執(zhí)行 Web 加速,例如緩存、TLS/SSL 卸載、壓縮
      • 提供網(wǎng)絡(luò)安全 機制,例如威脅防護、IP隱藏、網(wǎng)頁過濾

      負(fù)載均衡器的主要作用是將用戶請求分發(fā)到多個服務(wù)器。反向代理可用于促進用戶和單個服務(wù)器之間的請求。