Cname-Record

動態虛擬主機 (CNAME)

  • September 23, 2015

我已經動態配置了虛擬主機:

UseCanonicalName Off

<VirtualHost *:80>
 ServerAlias *.projects.domain.com
 VirtualDocumentRoot /var/www/projects/%-4
</VirtualHost>

<VirtualHost *:80>
 ServerAlias *.testing.domain.com
 VirtualDocumentRoot /var/www/testing/%-4
</VirtualHost>

當我在瀏覽器中輸入 xxx.projects.domain.comyyy.testing.domain.com但它工作正常:

它不適用於 CNAME 記錄。例如:xyz.com => abc.projects.domain.com

如何將 apache 配置為根據解析的 DNS 名稱(abc.projects.domain.com)而不是根據 HTTP HOST 標頭(xyz.com)動態選擇虛擬主機,而不將xyz.com插入apache 配置?

它不適用於 CNAME 記錄。

CNAME 只告訴它使用與目標相同的 DNS 記錄,它不會告訴您的 HTTP 伺服器 (Apache) 當它看到 CNAME 域時應該將其視為與 CNAME 目標相同。

有幾個選項,但基本上你需要指定 xyz.com 是 abc.projects.domain.com 的別名。

這裡列出了幾個可能對您有用的選項。例如參見“使用單獨的虛擬主機配置文件”。

我遇到了類似的情況,最後我剛剛為我的所有域生成了正確的虛擬主機配置,包括使用 Chef 的別名。我發現它比嘗試動態執行它更簡單、更健壯。

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