CNAME和子域之间有什么区别?

我了解一个cname(域的左侧)可以指向该域,因此您可以将两个不同的url指向同一个地址,即

ex1.mydomain.com-如果设置为CNAME可以返回mydomain.com的IP

如果将ex1.mydomain.com设置为子域,

另一个问题是在这种情况下理想的设置应该是什么:


我的Web应用程序具有IP1:80

我的另一个应用程序具有IP2:80


我可以将这两个IP都指向同一个A记录,也许具有不同的cname或子域吗? />
感谢您的帮助吗?

#1 楼

CNAME是一种DNS记录,其中一个主机名指向另一个主机名。

A记录是另一种DNS记录,其中主机名指向IP地址。

子域就是您所说的“域的左侧” ,例如webmasters.stackexchange.comstackexchange.com的子域。子域的DNS设置可以使用A记录或CNAME。

您的问题:


我可以将这两个IP都指向同一个A记录,或者使用不同的cname或子域?


真的没有道理。您不会将IP指向A记录,而是将主机名指向使用A记录的IP。如果您询问是否可以将一个域和一个子域指向相同的IP,答案是肯定的。

在现实世界中,这可能更清楚:

webmasters.stackexchange.com具有指向IP A198.252.206.140记录。
stackexchange.com也具有指向IP A198.252.206.140记录。因此可以将webmasters.stackexchange.comCNAME更改为stackexchange.com

(实际上,CNAMES记录要比A记录慢一点,因为它们可能导致额外的DNS查找,因此这就是为什么A记录更常见的原因之一已使用。)

评论


谢谢你的回答!我最初是在stackoverflow中问这个问题的,当我将其移到这里时,它也在那里得到了回答。我的解决方案是使用两个两个不同的A记录,一个作为子域,因此我可以使用相同的域。 IE-ex1.mydomain.com(IP1)和mydomain.com(IP2)

–密码
2014年4月1日17:57



#2 楼

请参阅评论以获取更新的信息-此评论很可能是错误的。

上面的答案并不完全准确-如果A记录转发到IP并且IP具有虚拟主机设置,则它们将是定向到同一服务器IP上的不同位置。

将其更改为CNAME很可能会破坏这一点。

评论


我很确定CNAME记录和虚拟主机可以很好地协同工作。

–othernode
20-4-20在12:51

就最终如何在目标服务器上解决请求而言,在DNS中使用A还是CNAME记录都无关紧要。无论使用什么DNS记录-它们只是为您需要连接的服务器找到所需IP地址的一种方式。当最终向服务器发出HTTP请求时,查找服务器IP地址所需的任何DNS查找都是无关紧要的,并且完全是“隐藏”于目标服务器的。

–怀特先生
20-4-30的16:11

感谢您的澄清-我还没有测试过。我担心的是,如果sub.domain.com是另一个站点,并且cname将其重定向到domain.com,则您将获得错误的站点。如果我理解正确,则CNAME仅使用dns名称来查找ip。

– Ces
20-05-15在22:12

@Ces CNAME记录不会在HTTP级别上重定向主机名,它们只会在IP级别上引导流量。如果将sub.example.com命名为example.com,则对sub.example.com的请求将定向到与example.com所指向的IP地址相同的地址,但是不会重写请求以索取example的内容.com-他们仍然要求sub.example.com提供内容。

– Maximillian Laumeister
20年5月16日,1:11

希望我的解释有助于澄清问题。考虑编辑您的答案以删除错误的信息。

– Maximillian Laumeister
20年5月16日,1:15