Apache-2.2

在 Apache 上使用一個 IP 服務多個 HTTPS 站點

  • November 3, 2009

我有一台具有公共 IP 的機器,目前通過 HTTPS 上的 dav_svn 為 SVN 儲存庫提供服務;現在我需要安裝 Redmine 並在 HTTPS 上提供它。我還需要能夠使用 IP 地址連接到兩個站點/應用程序,因為我無法信任內部 DNS 解析,也無法編輯主機文件。

什麼是最好的解決方案?將 localhost:SomePort、Redmine 上的 SVN 移動到 localhost:SomeOtherPort 並安裝 HTTPS 反向代理(如Pound)以使用模式/URL 匹配重定向連接是否可行?

有一些解決方案 - 一種是購買萬用字元證書並在任何地方提供服務。另一個是確保您至少使用 Apache 2.2.12 並啟用 SNI,這允許您將 SSL 與基於名稱的虛擬主機一起用於支持它的少數瀏覽器。或者,您可以添加一個公共 IP,在伺服器上添加一個虛擬專用 IP,並將它們映射到您的防火牆上並使用基於 IP 的託管。

看起來您幾乎已經將自己從虛擬主機中排除在這些要求之外。

話雖如此,在不同的埠上執行東西並直接通過 ssl 訪問這些埠應該沒有問題。

要麼

使用單個主 ssl 證書在不同的 apache 根/子樹下執行服務。

要麼

使用直接的 http localhost 執行不同的服務,然後使用您所說的反向代理甚至 apache 來處理 SSL 前端,同時通過 http 與相關服務建立後端連接。我想我會看看 nginx,我不認為 pound 會做你想做的事,因為它專門針對負載平衡而不是針對代理重定向/正則表達式。

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