我有一個在帶有 Apache 的 CentOS 7 上運行的 Web 應用程序,它使用 xmlhttprequest 和 fetch api 來存取在同一台電腦上運行的 Express Server (NodeJS)。我的 web 應用程式使用連接埠 80 進行傳入連接,而我的 Express 伺服器正在偵聽連接埠 3001。
在部署我的 web 應用程式時,我很困惑是否需要正向代理或反向代理來完成與 Express 伺服器連接埠 3001 的通訊。我應該配置哪個代理?
答案1
您所描述的是反向代理。
普通(“轉發”)代理為一個客戶端或一組客戶端提供服務,允許存取客戶端請求的遠端伺服器。
反向代理為任何客戶端提供服務,允許存取一個伺服器或一組伺服器。
但是,當您說“您”時need the web app to continue sending [its] typical html response
,那麼網頁應用程式就不再充當代理,我不再相信您擁有或需要反向代理或任何類型的代理。如果在連接埠 80 上執行的 Web 應用程式中有應用程式程式碼向 Node.js 伺服器發出自己的請求並解釋回應以便向客戶端提供答案,那麼您就沒有代理,您有一個代理程式。端Node.js 伺服器。在你的圖中,代理程式位於前端和後端伺服器之間,它與你的前端 Apache 伺服器不同。