許多企業(yè)使用代理服務(wù)器來路由和保護(hù)網(wǎng)絡(luò)之間的流量。然而,對(duì)于這與反向代理有何不同,人們常常會(huì)感到困惑。在這篇文章中,我們將剖析這兩個(gè)概念并解釋管理員如何使用反向代理來輕松進(jìn)行訪問管理控制。
什么是代理服務(wù)器?
代理服務(wù)器,有時(shí)稱為轉(zhuǎn)發(fā)代理,是在客戶端和另一個(gè)系統(tǒng)之間路由流量的服務(wù)器,通常在網(wǎng)絡(luò)外部。通過這樣做,它可以根據(jù)預(yù)設(shè)策略調(diào)節(jié)流量,轉(zhuǎn)換和屏蔽客戶端 IP 地址,強(qiáng)制執(zhí)行安全協(xié)議,并阻止未知流量。
具有共享網(wǎng)絡(luò)的系統(tǒng),例如商業(yè)組織或數(shù)據(jù)中心,通常使用代理服務(wù)器。代理服務(wù)器公開一個(gè)與客戶端交互的接口,而不必在客戶端本身內(nèi)強(qiáng)制執(zhí)行所有策略和路由管理邏輯。
什么是反向代理服務(wù)器?
反向代理是代理服務(wù)器的一種。與用于保護(hù)客戶端的傳統(tǒng)代理服務(wù)器不同,反向代理用于保護(hù)服務(wù)器。反向代理是一個(gè)服務(wù)器,它接受來自客戶端的請(qǐng)求,將請(qǐng)求轉(zhuǎn)發(fā)到許多其他服務(wù)器中的另一個(gè),并將實(shí)際處理請(qǐng)求的服務(wù)器的結(jié)果返回給客戶端,就好像代理服務(wù)器自己處理了請(qǐng)求一樣. 客戶端只與反向代理服務(wù)器直接通信,它不知道其他服務(wù)器實(shí)際處理了它的請(qǐng)求。
傳統(tǒng)的轉(zhuǎn)發(fā)代理服務(wù)器允許多個(gè)客戶端將流量路由到外部網(wǎng)絡(luò)。例如,企業(yè)可能有一個(gè)代理來路由和過濾員工流量到公共互聯(lián)網(wǎng)。另一方面,反向代理代表多個(gè)服務(wù)器路由流量。
反向代理有效地充當(dāng)客戶端、用戶和應(yīng)用程序服務(wù)器之間的網(wǎng)關(guān)。它處理所有訪問策略管理和流量路由,并保護(hù)實(shí)際處理請(qǐng)求的服務(wù)器的身份。
反向代理配置
通過反向代理路由客戶端流量,管理員可以簡(jiǎn)化安全管理。他們可以將后端服務(wù)器配置為僅接受直接來自代理的流量,然后在代理本身上配置精細(xì)的訪問控制配置。
例如,管理員可以將反向代理的防火墻配置為將特定 IP 地址列入白名單或黑名單。代理后面的所有現(xiàn)有服務(wù)器都將受到相應(yīng)的保護(hù),每當(dāng)管理員將新的后端服務(wù)器添加到配置為僅接受來自代理服務(wù)器的請(qǐng)求的網(wǎng)絡(luò)時(shí),新的后端服務(wù)器都會(huì)根據(jù)代理配置受到保護(hù)。
使用反向代理還可以讓管理員在不中斷流量的情況下輕松地交換后端服務(wù)器。因?yàn)榭蛻舳酥苯优c代理交互,他們只需要知道它的主機(jī)名,不需要擔(dān)心后端網(wǎng)絡(luò)拓?fù)涞淖兓3撕?jiǎn)化客戶端配置外,管理員還可以配置反向代理來負(fù)載平衡流量,以便將請(qǐng)求更均勻地分配到后端服務(wù)器并提高整體性能。
用例:入職和離職
將新用戶加入網(wǎng)絡(luò)時(shí),管理員必須配置訪問控制和防火墻,以確保用戶可以訪問適當(dāng)?shù)馁Y源。傳統(tǒng)上,管理員必須配置用戶需要訪問的每臺(tái)服務(wù)器。在擁有許多服務(wù)器的大型組織中,這可能是一個(gè)耗時(shí)且容易出錯(cuò)的過程。
但是,使用反向代理,管理員可以直接在代理服務(wù)器上配置訪問權(quán)限,并讓用戶通過它路由所有流量。因此,后端服務(wù)器只需要直接信任代理并與之通信。這極大地簡(jiǎn)化了配置過程,并有助于確保通過單一來源正確授予和撤銷訪問權(quán)限。
為訪問管理設(shè)置反向代理
雖然反向代理可以大大簡(jiǎn)化管理網(wǎng)絡(luò)訪問的過程,但正確設(shè)置和配置它可能會(huì)變得復(fù)雜。它需要為主機(jī)提供適當(dāng)?shù)囊?guī)范,配置操作系統(tǒng)和防火墻,決定使用哪個(gè)代理軟件(例如NGINX或HAProxy),在代理配置文件中枚舉和配置下游服務(wù)器,設(shè)置審計(jì)日志,并配置所有下游服務(wù)器中的防火墻。
管理員將需要優(yōu)化代理軟件以適應(yīng)性能和可用性要求。例如,當(dāng)下游服務(wù)器出現(xiàn)故障時(shí),管理員應(yīng)配置代理服務(wù)器以快速重新路由流量以避免停機(jī)。
在規(guī)模上,開箱即用的配置很少足夠,因此測(cè)試變得很重要。每當(dāng)配置發(fā)生變化時(shí),您都需要一種方法來針對(duì)具有代表性的測(cè)試環(huán)境運(yùn)行足夠的負(fù)載,并密切監(jiān)控對(duì)性能和可用性的影響,以驗(yàn)證配置是否能夠滿足生產(chǎn)環(huán)境的需求。
手動(dòng)構(gòu)建反向代理與購買軟件
鑒于實(shí)施、測(cè)試和優(yōu)化反向代理所涉及的所有步驟,您可以選擇購買無需所有定制工作即可提供此功能的軟件。訪問管理軟件可以提供所有這些功能,同時(shí)還可以管理正在進(jìn)行的維護(hù)和用戶管理。
除了提供標(biāo)準(zhǔn)的反向代理功能外,訪問管理軟件還具有許多獨(dú)特的優(yōu)勢(shì):
1) 用戶訪問的靈活性。通過抽象出防火墻和訪問控制的復(fù)雜性,訪問管理軟件可以提供更高級(jí)別的概念,例如用戶組。此功能使管理員可以輕松地從各種預(yù)定義組中分配和刪除用戶,并允許軟件自動(dòng)實(shí)施訪問策略。
2) 旨在提高可靠性。在分布式系統(tǒng)中,服務(wù)器可能會(huì)發(fā)生故障并且可能會(huì)發(fā)生網(wǎng)絡(luò)中斷。訪問管理軟件可以輕松檢測(cè)故障服務(wù)器并將流量重新路由到工作服務(wù)器,以避免用戶出現(xiàn)任何明顯的停機(jī)時(shí)間。
3)負(fù)載均衡能力。單個(gè)服務(wù)器在遇到大量流量時(shí)可能會(huì)遇到困難,這會(huì)降低性能并增加請(qǐng)求延遲。訪問管理軟件可以幫助管理流量并平衡所有服務(wù)器的負(fù)載,確保均勻分布。