Nginx

Nginx Containerized 與 Apache 伺服器共存

  • February 18, 2021

我有一個帶有 Ubuntu 伺服器的 VPS,它正在執行一個燒瓶(python)網路應用程序,使用 UWSGI,通過 Apache 的反向代理,用於域“a.com”。

燒瓶應用程序和 Apache 都沒有容器化。

現在我有另一個 Web 應用程序,我想通過 docker 容器部署到同一台伺服器,我正在考慮使用第二個 nginx 容器作為域“b.com”的 uvicorn 的反向代理。

是否可以讓容器化 nginx 將“a.com”的流量重定向到 Apache?

PS 我知道當 nginx 容器關閉時,兩個域都無法工作,但這不是問題。

當然可以。忽略這是 Apache 和 Nginx 或 HAProxy 或任何你能想到的 HTTP 服務的事實。他們將打開一個 TCP 埠並在該埠上等待傳入的 HTTP 請求。

如果您希望您的客戶訪問 HTTP 服務,則必須在埠 80 上至少有一個 HTTP 服務來等待http://website/URL 中沒有埠號的正常請求。此 HTTP 服務可以將請求轉發到任何其他 HTTP 服務 - 可能在 localhost 上的埠 81、82……或更好的 8080、8081……上執行。這是您的反向代理。它可以處理域庫、IP 庫或路徑庫上的請求,以辨識正確的後端。

我只會將該主要 HTTP 服務創建為“反向代理”——它僅將請求轉發到其他服務。如果這是 Apache、Nginx 或簡單的 HAProxy,這並不重要。將所有服務放在其他埠上並通過 localhost: 轉發給它們。

這種情況有很多方法。這是很正常的。

引用自:https://serverfault.com/questions/1052184