Apache-2.2

在同一台伺服器上託管兩個 Web 應用程序

  • February 4, 2011

在不提供所有細節的情況下,我正在嘗試(通過 apache)設置兩個 Web 應用程序,它們將由同一(內部開發)伺服器提供服務。目前我有兩個VirtualHost指令和兩個應用程序在不同的埠上執行。相反,我想讓 URL 確定使用哪個應用程序,例如,myapp.domain.com將轉發到一個應用程序,而任何其他應用程序.domain.com將轉到另一個。設置內部 DNS 來處理該部分不是問題。但我對 apache 不是很熟悉,最好的方法是什麼?

在裡面<VirtualHost>你可以使用ServerName; 這是告訴 Apache 處理對該特定名稱的請求的指令。您還可以ServerAlias用來指定您希望VirtualHost處理請求的其他域(以及更多!)。

例如,您可以像這樣設置指令

<VirtualHost ...>
   ServerName foo.example.com
   ...
   #Handle webapp1 in here
   ...
</VirtualHost>

<VirtualHost ....>
   ServerName example.com
   ServerAlias *.example.com
   ...
   #Handle webapp2 in here
   ...
</VirtualHost>

Apache 文件在其文件 ( http://httpd.apache.org/docs/2.0/vhosts/examples.html ) 中包含幾個非常好的範例,適用於大多數案例。您可能還對他們在頁面中間的“預設”包羅萬象感興趣,這基本上是任何與先前指令不匹配的虛擬主機請求的包羅萬象。

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