在計算機網絡中,一個基本的反向代理位于一組服務器和想要使用它們的客戶端之間。客戶端是可以向服務器提交請求的任何硬件或軟件——例如,您的 Web 瀏覽器是您用于閱讀本文的客戶端,它托管在我們的服務器上。反向代理處理從客戶端到服務器的所有請求,它還將所有響應和服務從服務器傳遞回客戶端。從客戶的角度來看,這使它看起來好像一切都來自一個地方。
組織和企業使用反向代理來鞏固他們的互聯網存在。根據您的配置方式,反向代理可以在單個服務器中提供多種功能之一。它的一部分是接待員,將傳入的請求引導到正確的部門,另一部分是保鏢,讓侵入性的眼睛遠離您的內部基礎設施。
正向代理與反向代理
一個代理服務器(或“轉發代理”)作為您和您所選擇的服務器之間的中介。代理為您轉發連接——它傳遞您的請求,接收來自您正在使用的站點和服務的回復,然后將它們發送給您。相反,反向代理接收來自另一個網絡上的客戶端的請求,將其傳遞給內部服務器,接收結果,然后將其中繼回客戶端。這就是代理如何工作的基礎:它們在客戶端和服務器之間來回傳遞數據。換句話說,對于任何試圖區分正向代理和反向代理的人來說,反向代理與代理完全相同,只是反向代理:正向代理代表客戶端,而反向代理代表客戶端服務器。
反向代理有什么用途?
反向代理位于客戶端和網絡服務(例如網站)之間。反向代理提供的三個最重要的功能是安全性、負載平衡和易于維護。反向代理也可以在身份品牌塑造和優化中發揮作用。
加強網絡安全
您可以創建和配置反向代理,以根據客戶端請求的性質將請求轉發到一個或多個內部服務器。如果它是一個網站,一個 URL 可能由您的客戶支持頁面提供,而另一個 URL 可能會進入您的購物車。反向代理僅轉發您想要服務的請求。如果您只提供 Web 內容,請將反向代理配置為排除端口 80 和 443(分別負責 HTTP 和 HTTPS 的默認端口)以外的所有請求。這使您可以根據類型轉移流量,這也意味著 ne'er-do-wells 不能直接攻擊您的內部服務。您還可以將反向代理升級為防火墻,這是一種具有額外功能或額外安全功能的代理服務器。
反向代理負載均衡
如果過多的互聯網流量使您的系統變慢,您可以使用負載平衡,將您的流量分配到一臺或多臺服務器上以提高整體性能。負載平衡使您可以用更具彈性的集群替換單個過度工作的后端服務。此技術還確保您的應用程序不再有單點故障。如果一臺服務器出現故障,它的兄弟姐妹可以接管。這只是很好的常識。反向代理可以使用一種稱為循環 DNS的技術來引導請求通過內部服務器的輪換列表。它很粗糙,但出奇的有效。如果您的要求越來越高,您可以切換到包含負載平衡功能的更復雜的設置。
改善網站維護
當您的內部服務對公眾隱藏時,刪除服務、添加新服務、升級服務或回滾服務會更容易。這使得改進對客戶和專業 IT 人員的壓力都減輕了。與其升級您唯一的電子商務網站并祈禱它仍然可以正常工作,不如將另一臺服務器與新版本一起在線。然后,配置您的代理以將新客戶會話定向到新服務器。一旦你確定它有效,關閉舊的。由于用戶正在與您的代理交談,而不是直接與那些內部服務交談,因此他們不會注意到這種變化。
此過程也適用于負載平衡的服務器。升級其中一個,測試,然后依次升級其余的。反向代理意味著永遠不會接到凌晨 3 點的電話,因為您的 IT 部門需要從備份中恢復您的舊網站。
身份品牌
企業通常使用自己網絡之外的外部服務來托管其網站的內容管理系統或購物車應用程序。您可以使用反向代理來隱藏該詳細信息,而不是告訴網站訪問者您將他們發送到另一個 URL 進行付款。反向代理可以隱藏提供客戶體驗組件的外部供應商的存在,例如您的云服務提供商。
緩存常用數據以提高性能
如果您提供大量靜態內容,例如圖像和視頻,您可以設置反向代理來緩存一些內容。這樣做可以減輕您內部服務的壓力。
反向代理真的安全嗎?
添加一個受歡迎的安全層,反向代理可以有效地保護系統免受 Web 漏洞的影響。反向代理位于外部客戶端和您的內部服務之間,防止任何人直接訪問您的網絡。您暴露的 IT 基礎架構越少,黑客對您的重要專有數據或客戶數據的吸引力就越小。
這降低了攻擊的風險有兩個原因:
- 您的服務器受到更好的保護,免受不良行為者的侵害。
- 喜歡易于破解的網站的黑客會發現您的網站更安全并繼續前進。
因為反向代理充當您的網絡存在的面孔,所以它可以代表您的所有內部服務器托管證書并處理 SSL 協商。這意味著您不需要管理多個證書,也不需要對內部網絡進行加密。
為了獲得更高的安全性,請構建一個互聯網防火墻,它實際上只是一個帶有額外牙齒和多疑心的代理。您可以將基本的反向代理換成添加防火墻功能的反向代理,而無需更改任何內部服務的工作方式。