在我的一个 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.com
和example.com
服务器相同的内容。因为我有CNAME
记录,反正www.example.com
都会被指向example.com
,所以不需要别名。这个论点也可以反过来说CNAME
不需要记录。
我的 Web 服务器(nginx 或 Apache)中的别名和 CNAME 记录是否多余?如果是这样,我应该摆脱其中一个吗?如果是这样,是哪一个?
如果没有 CNAME,您将需要 www-subdomain 的 A 记录,否则 DNS 解析
www.example.com
将无法正常工作,并且请求将无法到达您的服务器。您还需要
ServerAlias
, 因为即使使用 CNAME,HTTP 请求中的主机标头也不会改变,所以它仍然会改变,www.example.com
您需要告诉 Apache/nginx 哪个 vhost 应该服务这个请求。所以这里没有多余的东西。使用 CNAME
www.example.com
代替 A 记录的唯一优点是,当您的 IP 更改时,您只需更改example.com
. 使用 A 记录时,您必须同时更改它们。