在SaaS業務中使用代理伺服器的10個理由

代理伺服器在雲基礎架構中發揮著重要作用。它們不是大多數人想到的那種代理。它們不會將客戶端隱藏在伺服器之外,而是代替Internet上的伺服器。這就是所謂的「反向代理」。

SaaS設置通常為其用戶提供多個應用程序。通常,擁有專用伺服器是有意義的,每個伺服器處理一個或幾個應用程序或以其他方式劃分工作。每個伺服器類別都可以擁有自己的域和IP地址,但這對用戶來說相當混亂。對於許多情況,代理是更優雅的解決方案。

反向代理的角色

您可以將反向代理視為助理,他會接聽電話並與總部外的訪客進行會談。其中一些是常規的,助理可以處理它們而不浪費任何其他人的時間。他們中的一些人需要預約或被刷掉。總公司的老闆可以更有效地工作。反向代理對應用程序伺服器執行相同操作。

一種流行的方法是為整個服務提供反向代理伺服器。它就在防火牆後面。所有互聯網流量都通過它,並確定每個請求的發送位置。它構成雲分發網路(CDN)體系結構的一部分,或者可以在獨立的數據中心中使用。

反向代理與轉發代理,負載均衡器和邊緣伺服器有一些相似之處,但它們並不相同。這些功能中的多個功能可以組合在同一台機器中。

轉發代理是客戶端用於間接連接到Internet服務的內容。它包括本地緩存代理以及匿名服務。反向代理是目的地。客戶端連接到它而不是直接連接到運行應用程序的計算機。它們連接到代理,但它們獲得的功能來自應用程序伺服器。

負載均衡器比代理伺服器簡單。它在兩個或多個同類應用程序伺服器之間分配請求,以便每個伺服器獲得大致相等的工作量。反向代理伺服器可以包括其功能之間的負載平衡,但它也會將請求分配給運行不同應用程序的伺服器。

邊緣伺服器在地理位置上比應用程序伺服器更靠近客戶端。它會緩存數據以加快周轉速度,或者將請求傳遞給應用程序伺服器(如果必須)。它可能包括也可能不包括代理功能。

代理的好處

智能分配請求

將請求分配給伺服器是代理的基本功能。請求的URL指示其用途的應用程序。代理解析它並確定哪個應用程序伺服器能夠為其提供服務。它可以管理粘性會話,其中來自登錄用戶的所有請求都轉到負載平衡組中的同一伺服器。

應用程序伺服器可能僅在細節方面有所不同,例如它們處理的語 可能有一台伺服器用於應用程序的英語語言請求,另一台伺服器用於所有其他語言。代理可以根據用戶首選項或URL參數將請求發送到適當的伺服器。

伺服器可以在將URL發送到應用程序伺服器之前對其進行標準化。這包括應用重寫規則,刪除不必要的參數或添加內部使用的參數。

添加新應用程序和新硬體以支持它是一件簡單的事情。代理的規則只需要更新,以便它們向它發送適當的請求。

IPv4地址稀缺。網路地址轉換(NAT)解決了這個問題,但伺服器位於網路外圍,容易受到攻擊。代理只需要一個公共IP地址,而應用程序伺服器根本不需要一個。

應用伺服器安全性

內部 - 視圖 - 計算機硬體與 - 發光-掛鎖圖標和藍色-圓計算機安全概念。

可以通過Internet直接訪問的伺服器不斷受到攻擊。敵對數據包會探測它是否存在開放埠,應用程序錯誤和其他弱點。成功的攻擊可以讓犯罪分子竊取機密數據或修改信息。影響客戶的數據泄露非常昂貴。

反向代理使應用程序伺服器遠離前線。除了緩存中的任何內容之外,它不包含大量用戶數據。如果代理遭到破壞,攻擊者仍然必須通過應用程序伺服器。管理員有更多時間來捕獲並解決問題。保持網路周邊小,使邊緣保護系統更好地工作。內部網路結構對潛在的入侵者是隱藏的。

代理執行特定於應用程序的請求篩選,超出了通用防火牆的功能。它會阻止與惡意URL或cookie模式匹配的請求。應用程序伺服器永遠不會看到它 它可以限制來自給定用戶或IP地址的請求,從而防止拒絕服務攻擊。 對於提供此功能的代理,通常會出現術語  「應用程序防火牆」

具有與應用程序分離的過濾層提高了靈活性。管理員可以在不觸及後端伺服器的情況下更改規則。除了阻止惡意請求之外,代理還可以檢測可疑行為並發出警報以進行進一步調查。

代理檢查傳出和傳入數據。它可以檢測從應用程序伺服器發送的異常數據,阻止它們並向管理員發出警報。這使得它可以捕獲,例如,惡意軟體到達命令和控制伺服器。

使用SSL / TLS的簡單性

任何嚴肅的Web服務都需要安全連接。TLS(通常仍稱為SSL的舊名稱)需要加密簽名和驗證。在處理許多請求時,這會佔用大量的計算時間。代理可以處理所有TLS工作,從應用程序伺服器中刪除負載。只要他們的連接在物理上是安全的,不受外部窺探和篡改,他們可以使用未加密的HTTP。只需要一個TLS證書,而不是每個應用程序一個。

僅當代理和應用伺服器是LAN或安全MPLS網路的一部分時,此優勢才適用。如果網路是軟體定義的WAN,則後端連接需要HTTPS連接。任何通過公共互聯網的東西都需要是安全的。證書可以是自簽名的,因為外部機器不應該訪問它們。每個伺服器都可以擁有自己的證書,並且可以根據需要隨時更換它們。

使TLS軟體保持最新是網路安全的重要組成部分。使用代理來減少面向Internet的設備的數量使得任務更容易。

用戶管理

對用戶進行身份驗證並檢查其授權應該是一項統一的任務。應用程序伺服器不必單獨檢查登錄。他們應該只獲得有關用戶身份和許可權的可信信息。

代理伺服器檢查請求所屬的會話。如果它未登錄且請求需要經過身份驗證的用戶,則會將請求發送到身份管理系統以進行登錄。如果用戶已登錄,則代理伺服器可能能夠檢查用戶是否可以執行請求行動。如果確定不允許,則會發回錯誤消息。代理檢查會話超時,將風險限制在沒有退出的情況下走開的人。

無效的登錄嘗試會浪費應用程序伺服器的時間,尤其是在密碼猜測機器人重複嘗試的情況下。代理伺服器可以對它們進行記錄並限制來自任何給定源的嘗試次數。在嘗試失敗太多之後,它應該將源鎖定一段時間。應用程序伺服器不需要查看它們。

其他Internet管理任務

響應壓縮可降低帶寬要求並加快響應時間。這是減少發送位元組數的標準做法。它不像加密那麼苛刻,但確實需要一些處理時間。代理伺服器處理所有壓縮和解壓縮,從而減輕應用程序伺服器的一項任務。

某些請求需要重定向到不同位置的伺服器。代理伺服器可以發送重定向響應,而無需觸及應用程序伺服器。它可以處理從HTTP到HTTPS的升級重定向,並且可以在適當的情況下發送諸如「未找到」和「不可用」的響應。

當伺服器日誌來自太多計算機時,它們最容易處理。代理伺服器可以記錄應用程序伺服器的所有請求。這使其成為分析的便利基礎。代理可以自己運行分析,但通常情況下,它會將數據提供給單獨的雲服務,以轉換為統計信息和圖形。

使用代理也簡化了網路監控。監控軟體可以查看通過代理伺服器的流量以及進入的請求類型。如果異常流量模式開始顯示,則在不需要組合來自多個伺服器的數據時更容易捕獲它們。這樣可以更快地檢測拒絕服務攻擊。

負載均衡

插圖伺服器的-連接到集群 - 的多彩-個體圖標

負載均衡器在多個伺服器之間分配作業,以便共享處理負擔。它可以是一個不做任何其他操作的專用設備,也可以是代理伺服器的功能之一。

某些應用程序體系結構要求會話中的所有請求都轉到同一伺服器,因此它可以在本地保存會話數據。代理伺服器可以通過保持會話標識符並適當地分派請求來實現此目的。它也可以進行智能負載平衡。某些類型的請求比其他請求需要更多資源,代理可以將此考慮在內。

伺服器結構擴展

將應用程序伺服器保持在網路外圍使其更容易擴展。無需為新計算機添加公共IP地址或重新配置NAT。代理只需要知道新伺服器,並有關於發送給它們的請求的規則。

如果網路添加新的SaaS類別,則對代理的更改仍然相當簡單。它需要有新服務的規則以及如何分派其請求。如果它作為應用程序防火牆,它將需要更新,以便它可以保護服務。

大型網路可能需要多個代理才能跟上流量。在這種情況下,負載均衡器可以管理多個代理伺服器。

高速緩存

並非每個請求都必須轉到應用程序伺服器。不觸發操作的請求可能只需要檢索不經常更改的數據。伺服器響應中的標頭指示它是否可以緩存以及緩存多長時間。每個人都知道瀏覽器如何使用這些信息; 緩存伺服器基本上做同樣的事情。

當內容更改早於到期時間時,伺服器可以向高速緩存代理髮送清除請求。這允許更長的到期時間,因為它可以覆蓋它們。這是瀏覽器無法使用的功能。

靜態內容

某些內容根本不需要緩存。它可以直接在代理伺服器上使用,也可以由除了提供靜態數據之外什麼都不做的伺服器處理。圖像,視頻,CSS和JavaScript通常構成網頁內容的主要部分。HTML本身很少超過幾千位元組。沒有充分的理由應用伺服器必須承擔交付不變的部件的負擔。

更好的性能

這些優勢的總和和目標是SaaS系統,可以在不大幅增加硬體成本的情況下提供更好的性能。代理就像是熟練的助手,負責處理老闆的日常工作。老闆不會經常打斷,可以專註於重要的工作。只有在助理確認他們的業務合法且需要個人關注後,才能進入內部辦公室。

代理伺服器的工作在質量上與後端伺服器不同。它處理大量請求,但每個請求只執行簡單的操作。其大部分工作包括處理或駁回請求。它的軟體旨在並行處理許多請求,每個請求都不需要大量資源。後端伺服器處理的事務較少,但它們對計算或查找信息的要求通常較高。

同時,將應用程序伺服器放在代理伺服器之後會使它們更安全。通過互聯網進行的攻擊必須通過一個額外的層才能擊中它們。代理需要強大的邊緣保護,但保護它們的數量較少,而且它們本身並不包含大量有價值的信息。

有關使用SaaS 代理的更多信息,但希望這一介紹有助於說服您的價值。