DNS 查找

DNS 查找

我不知道为什么我很难找到一个相当常见的任务的简单答案。我确信有简单的答案,我可能没有问对问题。我显然不是服务器管理员,但我通常可以在需要时找出基本任务(除了这个)。

我有一个网站 - example.com - 我在 shopify 上使用它。

我想在 try.example.com 上开发我的登陆页面,并希望将其托管在 Digital Ocean 上。

  1. 我如何将 cname 指向数字海洋服务器?显然,我需要在数字海洋服务器上设置某种主机名,然后指向该主机名?
  2. 域名指向后,如何处理其文件?是否与简单地创建虚拟主机来处理它们相同?

如果这个问题看起来很基础,我很抱歉,但我正在努力学习,但我不知道该搜索什么。我知道这是可能的,因为我已经将我域中的其他 cname 指向其他服务。

任何帮助都非常感谢。任何起点都应该可以帮助我入门。

答案1

DNS

不太清楚 Shopify 如何工作,但如果指向的 IP与应该指向的example.comDigital Ocean droplet IP 不同,那么您需要的是一条记录而不是一条记录。try.example.comACNAME

您可以了解两者之间的区别这里这里

数字海洋

如果您熟悉 Linux 网络服务器的基础知识,Droplet 的设置相当简单。这通常涉及安装nginxapache2将 HTML/PHP/JS 文件放置在/var/www/html/目录中。

答案2

这分为两个部分。

DNS 查找

浏览器(或其他用户代理)想知道对于给定的域名要连接到哪个 IP 地址。它正在寻找AAAAA记录。如果它收到一条CNAME记录,它就会去那里询问。

询问:

nslookup service.example.com

AAAAA记录是干什么的service.example.com

回复:

service.example.com IN CNAME host.example.net

service.example.com全部和 的记录一样host.example.net。去那里问吧。

浏览器现在将去查找host.example.net

HTTP 连接

一旦浏览器获得了服务器的 IP 地址,它就会尝试连接该服务器。在Host标头中(SNI如果您使用 TLS,则在标头中),它会告诉您它正在寻找哪个主机:

Host: service.example.com

它仍然是它寻找的那个原始的。它将不是说它正在寻找host.example.net

A您对 vhost 的设置完全是标准的。浏览器是通过直接记录AAAA还是通过查找获取 IP 地址无关紧要CNAME。无论哪种方式,浏览器都会以相同的方式连接到服务器。

答案3

您在为 example.com 创建 CNAME 时可能会遇到问题的原因之一是您无法在域的顶级创建 CNAME。

因此,您无法为 example.com 创建指向 host.example.com 的 CNAME。

这是来自RFC1912 第 2.4 节:“CNAME 记录不允许与任何其他数据共存。”

相关内容