如何把域名指向您的服务器
要把域名指向服务器,就在您注册域名的地方的 DNS 界面中,添加一条指向服务器 IP 地址的 A 记录。添加记录只需一分钟。全网何时能看到它,取决于缓存。通常需要几分钟,有时需要几个小时。
分步操作
- 获取服务器的 IP 地址。在 Seturack 面板中打开我的服务器,点击您的服务器,查看概览标签页上的 IP 地址一行。
- 打开您购买域名的地方,或管理其 DNS 的地方的 DNS 界面。通常叫“DNS 管理”或“DNS 记录”。更改任何内容之前,先给现有记录截一张图,以便需要时恢复。
- 为根域名添加一条 A 记录:名称
@,类型A,值为服务器的 IP 地址。 - 也为
www添加记录:要么是指向同一个 IP 的 A 记录,要么是从www指向根域名的 CNAME 记录。 - 删除旧的 A 和 AAAA 记录,以及所有“停放页面”记录。如果同一个名称下留有多条不同的 A 记录,访问者会被随机送到其中一个。
- 等待,然后用下面的命令检查。
记录类型
| 类型 | 作用 |
|---|---|
| A | 把名称指向一个 IPv4 地址。这就是您的服务器需要的记录。 |
| AAAA | 把名称指向一个 IPv6 地址。如果您的服务器没有 IPv6 地址,请不要添加这条记录;如果有旧的 AAAA 记录,请删除。 |
| CNAME | 把一个名称重定向到另一个名称,例如把 www 指向根域名。同一名称下不能与其他记录并存,所以通常不用于根域名(@)。 |
| MX | 指明邮件投递到哪台服务器。迁移网站时,不要动您的邮件记录。 |
| TXT | 用于验证,以及 SPF、DKIM 这类文本记录。 |
生效时间与检查方法
TTL 表示记录在缓存中保留多少秒。我们所说的“DNS 生效”,其实是世界各地的缓存忘掉旧记录。添加新记录时,通常很快。修改已有记录时,最长可能要等旧记录的 TTL 那么久。如果要迁移一个正在运行的网站,请至少在迁移前提早一个 TTL 周期,把 TTL 降到 300 秒这样的小值,切换完成后再改回原值。如果之前查询过一个从未存在的名称,“不存在”的应答也可能在缓存中短暂保留。
用这些命令检查记录是否已经可见:
- macOS 和 Linux:
dig +short example.com应该输出您服务器的 IP 地址。对于www,试试dig +short www.example.com。 - Windows:
nslookup example.com - 如果浏览器仍然访问旧地址,请清除您电脑的 DNS 缓存。在 Windows 上运行
ipconfig /flushdns。在 macOS 上先运行sudo dscacheutil -flushcache,再运行sudo killall -HUP mDNSResponder。
如果命令输出了正确的 IP,但页面打不开,请运行 curl -I http://example.com 看看服务器是否有响应。如果有响应,但内容不是您预期的网站,说明 Web 服务器不认识这个域名。您还需要让 Web 服务器知道这个域名。
如何指向子域名?
对于子域名(例如 blog.example.com),添加同类的记录:名称 blog,类型 A,值为服务器的 IP 地址。每个子域名是一条单独的记录。如果要把它们都指向同一台服务器,可以为每个子域名各写一条 A 记录,或者只写一次 A 记录,其余用 CNAME 记录指向它。打开哪个网站,由 Web 服务器决定。
添加记录,还是更改域名服务器?
大多数情况下,添加一条 A 记录就够了,DNS 管理仍然留在原处。更改域名服务器意味着把 DNS 管理交给另一个服务商。如果这样做,必须在新的地方重新创建所有记录,尤其是 MX 记录。请只在有意为之时才这样做。
常见错误
- 只为根域名添加记录。
www.example.com是另一个独立的名称,需要它自己的记录。 - 留着旧的 AAAA 记录。如果 IPv6 记录指向另一台服务器,一些访问者会到错误的地方。
- 把记录添加在错误的地方。如果您已把域名服务器指向另一个服务商,就要在这些域名服务器所指向的地方管理记录,而不是在您购买域名的地方。
- 在值的字段里加前缀。A 记录的值里不要写
http://,只写 IP 地址。 - 轻信浏览器。浏览器缓存可能误导您。请先用命令检查。
域名指向之后
域名到达服务器后,您还需要让 Web 服务器知道这个域名,并获取 HTTPS 证书。Let's Encrypt 免费签发证书。在 Seturack 基于网页的一键应用(例如 WordPress)上,您还要让应用知道这个域名,比如把它写进 Caddy 的设置和 WordPress 的地址字段。各个应用的具体步骤见这篇帮助文章。
您不需要为每个域名准备单独的 IP。同一个 IP 地址上可以托管多个域名,Web 服务器会根据请求中的域名提供对应的网站。如果想要独立的 IP,可以添加额外 IP。额外 IP 每月约 $1,含增值税。在 Linux 服务器上,IP 会自动添加到服务器内部。
Seturack 不销售域名,所以您需要在别处购买域名。您只需要从面板获取服务器的 IP 地址。DNS 记录则添加在您管理域名的地方。
评论0
暂无评论
成为第一个分享想法的人。
请登录或注册后发表评论。