Apache-2.2
使用域萬用字元在同一台伺服器上登台和生產
我有一個虛擬主機配置為以這種方式在 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 中的預設虛擬主機。