Proxy

將 HTTPS 流量路由到單個 IP 上的不同虛擬伺服器

  • November 20, 2018

我有單個 IP 可用的 Proxmox 實例。

我有多個用於不同站點(域)的虛擬機。每個虛擬伺服器內部都有自己的 https 證書。

我需要找到方法將來自我的伺服器 IP 的 https 流量路由到基於域名的不同虛擬伺服器。

對於 HTTP 流量,這不是問題 - 只是反向代理。但我需要 HTTPS 並在虛擬機上保留 https 證書。

有任何想法嗎?

鑑於您目前的設置,實際上只有一種方法可以做到這一點,恐怕您不會喜歡它。

問題是在將請求傳遞給適當的伺服器之前,您需要確定請求中的主機名。不幸的是,這幾乎包括處理實際的 SSL 連接——而這又需要在該中間件上擁有 SSL 證書。這意味著您不能僅將證書保留在虛擬機上。

我推薦的方法是設置一個實際的業務級負載均衡器,將證書放在上面並讓它適當地路由流量。

更便宜的方法是將 apache 或 nginx 設置為公共 IP 上的代理,並為每個後端虛擬伺服器設置一個虛擬主機,並讓該虛擬主機處理重定向。這些虛擬主機需要擁有每個虛擬主機的 SSL 證書。(我還設置了一些易於編寫腳本的方式來提供證書,這樣您就不必手動編輯每個證書,但這超出了這個問題的範圍。)

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