如何根據主機名稱將 https 請求轉送到其他主機

如何根據主機名稱將 https 請求轉送到其他主機

我的情況:

我有三台ubuntu伺服器,一台NAT路由器和三個網域和三個apache網站。這兩個網域Ipadress是NAT路由器的WAN ip。所有來自網際網路的 https 流量都會轉送到伺服器一。每個伺服器都有自己的網站證書。

有人嘗試連線:

如果請求的主機名稱是網站 1 的主機名稱。 。

請記住,伺服器 1 沒有伺服器 2 或 3 的密鑰。

我有兩個問題。

  1. 這是否可能不會像中間人一樣出現錯誤。
  2. 如何編輯 apache 配置使其有效。

研究:

我在 google 上搜尋如何將 https 請求轉送到另一個 https 主機。大多數答案是伺服器 1 擁有所有公共憑證和金鑰。並且您需要為伺服器 2 或 3 製作另一個憑證和金鑰。但我不希望伺服器 1 擁有伺服器 2 或 3 的私鑰。

我還發現如何在一台伺服器上擁有多個具有不同憑證的 https 虛擬主機。不,因為每個伺服器都有自己的網站。

有人能幫我嗎?

答案1

這可以使用 Apache 來實現反向代理特徵。在伺服器 1 的 Apache 設定中,您將VirtualHost使用伺服器 2 和 3 上網站的主機名稱和 SSL 設定建立定義,並用於ProxyPass透過伺服器 1 將連線代理回這些伺服器。

另一種方法是在所有三個伺服器前面運行 NGINX 之類的東西,將您的 HTTP/HTTPS 流量 NAT 到 NGINX,並將其配置為執行 SSL 終止和反向代理對於所有三台伺服器。

相關內容