Apache-2.2

nginx/apache vs CNAME 記錄中的別名?

  • January 22, 2015

在我的一個 nginxsites-available配置文件中,我可以指定一個伺服器名稱別名,如下所示:

server_name example.com www.example.com;

ServerName如果我有一個 Apache 伺服器,我可以用and做類似的事情ServerAlias

ServerName example.com
ServerAlias www.example.com

我還在CNAME我的區域文件中指定了一條記錄:

www.example.com. 1800 IN CNAME example.com.

我想www.example.comexample.com伺服器相同的內容。因為我有CNAME記錄,反正www.example.com都會被指向example.com,所以不需要別名。這個論點也可以反過來說CNAME不需要記錄。

**我的 Web 伺服器(nginx 或 Apache)中的別名和 CNAME 記錄是否多餘?**如果是這樣,我應該擺脫其中一個嗎?如果是這樣,是哪一個?

如果沒有 CNAME,您將需要 www 子域的 A 記錄,否則 DNS 解析www.example.com將無法正常工作,並且請求將無法到達您的伺服器。

您還需要ServerAlias, 因為即使使用 CNAME,HTTP 請求中的主機標頭也不會改變,所以它仍然會改變,www.example.com您需要告訴 Apache/nginx 哪個 vhost 應該服務這個請求。

所以這裡沒有多餘的東西。使用 CNAMEwww.example.com代替 A 記錄的唯一優點是,當您的 IP 更改時,您只需更改example.com. 使用 A 記錄時,您必須同時更改它們。

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