Apache-2.2

使用域萬用字元在同一台伺服器上登台和生產

  • February 27, 2012

我有一個虛擬主機配置為以這種方式在 Apache 和 Passenger 上執行 Ruby on Rails 應用程序:

<VirtualHost *:80>
 ServerAdmin account@gmail.com

 ServerName staging.domain.co
 ServerAlias *.doamin.co
 DocumentRoot /home/ubuntu/staging/current/public

所以 staging.domain.co、site1.domain.co、site2.domain.co 正在尋找,這是用於臨時環境。現在我需要在同一台伺服器上添加生產環境。我想添加生產環境,但我不知道該怎麼做。VPS 在 EC2 上執行。即使使用兩台不同的伺服器,也存在 DNS 伺服器將所有子域解析為目前 VPS IP 的問題。我認為唯一的解決方案是使用不同的二級域:

staging
 anotherdomain.co

production
 domain.co

你怎麼看?

如果您在 apache 中使用基於名稱的虛擬主機,則 DNS 與它無關;一百萬個主機名最終可能會出現在您的 IP 上,而 apache 仍然能夠為一百萬個不同的網站提供服務。

也就是說,您的設置的問題是這條線

ServerAlias *.domain.com

您想要刪除它並將其替換為用於暫存和/或生產的實際子域。

另請注意,根據定義,第一個列出的虛擬主機是 apache 中的預設虛擬主機。

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