什麼是反向代理?

了解什麼是反向代理以及其有什麼用處! 在談到伺服器時,聽到「反向代理」這個詞是很常見的。 在本文中,我想解釋什麼是反向代理,以及它的作用。 首先,讓我們談一下「代理」這個詞。代理是一個伺服器,接受客戶端的連接,這些客戶端在其網絡設置中主動配置了代理伺服器。 當客戶端與伺服器建立連接時,請求始終通過該代理伺服器傳遞。 這種做法有幾種用途。公司和組織可以設置代理伺服器來過濾連接、提供更高的安全性並記錄流量。如果不使用代理,客戶端無法連接到外部網絡。代理伺服器還有助於提供隱私並避免國家政府對網絡的限制。 另一方面,反向代理是由伺服器設置的。對於客戶端而言,它是完全透明的,他們不知道這個中間人的存在,但它在伺服器上做了一個非常有用的工作,過濾請求並將它們發送到處理這些請求的相應服務。 常常使用Nginx作為反向代理(也可以參考我們的nginx反向代理文章),並且運行在內部端口上的Node.js服務不可以外界訪問。 在這種情況下,Nginx充當主要的請求處理程序,並將相應的請求發送到特定的服務,例如將特殊子文件夾或URL鏈接到特定服務。 我們可以有兩個完全不同的Node.js應用程序,而用戶不需要知道該信息。 除了我們開發人員主要使用的路由功能之外,反向代理還非常適合過濾和保護避免攻擊,作為防火牆,引入緩存,配置SSL,處理負載平衡,AB測試等等。