Ubuntu

從哪兒開始?AWS ELB 後面的 Apache 2.4、Ubuntu、EC2 上的多個網站、相同的 IP 和埠、相同的 SSL?

  • October 17, 2014

目前情況:我的公司執行多個單獨的 EC2 實例,這些實例使用公共頂級域的多個子域託管獨特的網站。(例如 abc.foo.com 和 def.foo.com)。

這些網站中的每一個目前都在獨立執行 SSL 解除安裝,但使用一個通用證書。我們目前執行 Ubuntu LTS,包括 10.04、12.04 和 14.04,都執行 Apache(2.2 或 2.4)。

我們的系統使用 VHost 文件在實例上建立站點,並且在我們執行多個站點的少數實例上,我們使用具有不同埠和 docroot 的多個 VHost(:80 /var/www/abc for abc.foo.com,和 :81 /var/www/def 對於 def.foo.com)。所有這些實例都使用不到 2% 的可用資源執行,並且都來自同一個整體程式碼庫。

期望的最終狀態:我想使用 Apache 2.4 將所有未使用的小型伺服器整合到單個 Ubuntu 14.04 伺服器中,並在 AWS 中的單個 ELB 上執行所有這些站點,由 CloudFront 進行前端和記憶體,其中 SSL 解除安裝發生在ELB。

問題/問題:我不知道該怎麼做……有沒有辦法讓多個站點使用相同的 IP 和埠,可以使用 ELB 進行前置?由於 Apache 不會使用具有相同 IP/埠的 VHost 啟動,我什至不知道從哪裡開始,而且我的一些基本 Google 搜尋沒有出現任何此類場景的範例或討論。

您可以在 Apache 上擁有不同的 VHost,它們都偵聽相同的 IP 和埠。這就是大型託管服務提供商的工作方式:他們有一個大型 Apache 伺服器和許多使用 80 埠上的虛擬主機和相同 IP 的域。

我將為每個子域創建一個虛擬主機,全部在埠 80 上,並將每個子域的特定配置放在 VHost 配置塊上。ApacheDigitalOcean的 Virtual Host Guides非常好和詳細,我認為您可以向他們學習並付諸實踐。

這並不難,你可以做到。

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