反向代理是指代理服務器接受互聯(lián)網(wǎng)上的連接請求,然后將請求轉(zhuǎn)發(fā)給內(nèi)部網(wǎng)絡上的服務器。并將結(jié)果從服務器返回到請求在互聯(lián)網(wǎng)上連接的客戶端,此時代理服務器在外部世界中顯示為服務器。
通常的代理服務器僅用于代理內(nèi)部網(wǎng)絡到互聯(lián)網(wǎng)的連接請求??蛻舳吮仨氈付ㄒ粋€代理服務器,并將最初直接發(fā)送到Web服務器的http請求發(fā)送到代理服務器。當代理服務器可以代理外部網(wǎng)絡上的主機并訪問內(nèi)部網(wǎng)絡時,這種代理服務稱為反向代理服務。
反向代理服務器通常有兩種模式,可以作為內(nèi)容服務器的主體替身和內(nèi)容服務器集群的負載平衡器。
1.成為內(nèi)容服務器的主體
如果您的內(nèi)容服務器包含必須保持安全的敏感信息,如信用卡號數(shù)據(jù)庫,您可以在防火墻外設置一個代理服務器作為內(nèi)容服務器的主體。當外部客戶端試圖訪問內(nèi)容服務器時,它將被發(fā)送到代理服務器。實際內(nèi)容位于內(nèi)容服務器上,內(nèi)容服務器在防火墻內(nèi)受到保護。代理服務器位于防火墻之外,在客戶端看來就像一個內(nèi)容服務器。
當客戶端向站點發(fā)出請求時,請求將被傳送到代理服務器。然后,代理服務器通過防火墻中的特定通道將客戶端的請求發(fā)送到內(nèi)容服務器。然后,內(nèi)容服務器通過該通道將結(jié)果傳輸回代理服務器。代理服務器將檢索到的信息發(fā)送給客戶機,就好像代理服務器是實際的內(nèi)容服務器一樣(參見圖2)。如果內(nèi)容服務器返回錯誤消息,代理服務器會截獲該消息,并在將消息發(fā)送給客戶端之前更改報頭中列出的任何URL。這將阻止外部客戶端獲取內(nèi)部內(nèi)容服務器的重定向網(wǎng)址。
這樣,代理服務器在安全數(shù)據(jù)庫和可能的惡意攻擊之間提供了另一個屏障。與擁有整個數(shù)據(jù)庫訪問權(quán)限的情況相比,即使攻擊僥幸成功,攻擊者最多也僅限于詢問單個事務中涉及的信息。未經(jīng)授權(quán)的用戶無法訪問真正的內(nèi)容服務器,因為防火墻通道只允許代理服務器訪問。
2.作為內(nèi)容服務器的負載平衡器
您可以在一個組織中使用多個代理服務器來平衡網(wǎng)絡服務器之間的網(wǎng)絡負載。在該模型中,可以通過使用代理服務器的緩存特性來創(chuàng)建用于負載平衡的服務器池。此時,代理服務器可以位于防火墻的兩側(cè)。如果Web服務器每天接收大量請求,可以使用代理服務器來分擔Web服務器的負載,提高網(wǎng)絡訪問的效率。
代理服務器充當由客戶端發(fā)送到真實服務器的請求的中間中介。代理服務器將請求的文檔存儲在緩存中。如果有多個代理服務器,DNS可以通過“循環(huán)復用”的方式選擇自己的IP地址,為請求隨機選擇路由。客戶端每次都使用相同的URL,但是請求采用的路由每次都可能經(jīng)過不同的代理服務器。
可以使用多個代理服務器來處理對大容量內(nèi)容服務器的請求,這具有內(nèi)容服務器可以處理更高負載并且比單獨工作時更高效的優(yōu)點。在初始啟動期間,代理服務器第一次從內(nèi)容服務器檢索文檔,然后對內(nèi)容服務器的請求數(shù)量將大大減少。有不懂的請咨詢夢飛服務器了解。