Apache-2.2
nginx/apache vs CNAME 記錄中的別名?
在我的一個 nginx
sites-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.com
和example.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 應該服務這個請求。所以這裡沒有多餘的東西。使用 CNAME
www.example.com
代替 A 記錄的唯一優點是,當您的 IP 更改時,您只需更改example.com
. 使用 A 記錄時,您必須同時更改它們。