您的主机已经准备就绪,但只有当域名指向它之后,访客才能访问到。实现方式有两种,而选错方式或两种同时使用,正是大量“我的 DNS 修改没生效”问题的根源。
本指南将说明何时应更改域名服务器、何时应使用 A 记录,如何查看域名当前的配置,以及如何在不中断服务的情况下完成切换。
要点速览
- 请使用欢迎邮件中列出的域名服务器:它们与您所在的服务器对应,优先于任何通用列表。
- 在域名注册商处更改域名服务器,而不是在主机托管处更改。
- 如果您的 DNS 托管在 Cloudflare 或其他服务商,请添加指向服务器 IP 的 A 记录,而不是更改域名服务器,切勿两者同时进行。
- 先运行 dig +short NS:如果域名未使用 WebGee 的域名服务器,在 cPanel Zone Editor 中所做的修改不会生效。
- 切换 DNS 前,先用 cPanel 中的 Website Preview 插件预览网站,确保切换过程不出意外。
开始之前
- 找到您的 WebGee 欢迎邮件:其中列出了您的域名服务器和服务器 IP 地址。
- 确认域名在哪里注册,因为域名服务器需要在注册商处更改。
- 确认您的 DNS 托管在 WebGee、Cloudflare 还是注册商处。
- 确保网站文件或迁移后的副本已经上传到您的 WebGee 账户。
域名服务器还是 A 记录?
选择哪种方式,取决于由谁托管您的 DNS。
- 域名服务器:将整个 DNS 区域交给 WebGee 管理。cPanel 的 Zone Editor 成为权威来源,所有记录都在这里管理。当 WebGee 同时托管您的网站和邮件时,通常选择这种方式。
A记录:DNS 保留在原处(例如 Cloudflare 或注册商),只将网站指向您服务器的 IP 地址。您的 IP 地址可在欢迎邮件和客户中心中找到。
切勿两者同时使用。使用 Cloudflare 域名服务器的域名会完全忽略 WebGee 的 DNS 区域,因此在 cPanel Zone Editor 中的修改不会产生任何效果。
使用正确的域名服务器
WebGee cPanel 常用的域名服务器是 ns1.webgee.com 和 ns2.webgee.com。部分账户分配的则是 ns1.primens.one 和 ns2.primens.one。这两组均有效。
以欢迎邮件为准 域名服务器与您账户所在的服务器相对应,不同服务器上的账户并不都使用同一组。请使用欢迎邮件中的那一组,或在客户中心的服务详情中确认。
请在域名的注册处更改域名服务器,而不是在主机托管处:
- 在 WebGee 注册:在客户中心进入 Domains → My Domains → Nameservers。
- 在其他地方注册:请到相应注册商处更改。
DNS 生效通常需要几个小时,最长可能需要 48 小时。完整参考请见应使用哪些域名服务器。
查看域名使用的域名服务器
几乎所有 DNS 问题都应先做这项检查。在终端中运行:
dig +short NS example.com在 Windows 上,运行 nslookup -type=ns example.com。如果使用浏览器,可通过公共 WHOIS 查询工具查看 Name Servers 字段。
结果解读如下:
ns1.webgee.com/ns2.webgee.com或ns1.primens.one/ns2.primens.one:WebGee DNS。请在 cPanel 的 Zone Editor 中修改记录。*.ns.cloudflare.com:Cloudflare DNS。请在 Cloudflare 修改记录,而不是在 cPanel 中。- 注册商的域名服务器:请在注册商处修改记录。
WHOIS 显示的是注册局中登记的信息;dig 显示的是当前实际解析的结果,可能仍是缓存。在更改期间,两者可能会有一段时间不一致,这就是 DNS 传播过程。
如需查看各条记录的返回值,并直接查询 Cloudflare 的解析器以绕过本地缓存,可使用:
dig +short example.com # A record
dig +short MX example.com # mail
dig +short TXT example.com # SPF, DMARC, verification
dig @1.1.1.1 +short example.com # bypass your local cache更多详情请见查看域名使用的域名服务器。
切换前预览网站
迁移网站的稳妥做法是:先在 WebGee 上搭建好网站,确认运行正常后再更改 DNS。WebGee 在 cPanel 中提供了 Website Preview 插件,正是为此而设计。
- 在 cPanel 中打开 Website Preview。
- 选择要预览的域名。
- 打开插件提供的预览地址。
预览运行在服务器主机名的子域名上,其访问效果与 DNS 指向此处后完全一致,因此重写规则、SSL 和 WordPress 都能正常工作。
请避免使用 cPanel 自带的 http://server-ip/~username 预览方式。它会导致 .htaccess 重写规则失效,必须修改 WordPress 的站点 URL 才能显示页面,无法使用 SSL,而且您分享的任何链接都会暴露服务器的 IP 地址。请参阅在指向 DNS 前预览网站。
DNS 解析生效后再申请证书 AutoSSL 通过从您的域名获取文件进行验证,因此只有在域名解析到您的账户后才能签发证书。切换完成后,请在 SSL/TLS Status 中勾选该域名并运行 AutoSSL。
具体步骤请见安装免费 SSL 证书。
将网站指向外部服务
如果您的网站要迁移到 Wix、Squarespace、Shopify 或 Webflow,而邮件仍保留在 WebGee,请保留 WebGee 的域名服务器,只修改网站相关的记录。请先从外部服务获取目标值,通常是用于 A 记录的 IP 地址,或用于 CNAME 的主机名。
- 在 cPanel 中,打开 Domains 下的 Zone Editor。
- 点击域名旁边的 Manage。
- 将名称为域名本身的
A记录修改为该服务提供的 IP 地址。 - 对
www记录重复以上操作,通常是指向同一目标的CNAME。
请不要改动 MX 记录、mail 的 A 记录和 TXT 记录,否则您的邮件会随网站一起中断。如果服务商为主域名同时提供 A 记录和 CNAME 两种选项,请选择 A 记录:在根域名上设置 CNAME 会与 MX 记录冲突。
之后,请通过欢迎邮件中的服务器主机名访问 cPanel,并通过 webmail.webgee.com 访问网页邮箱。然后确认这次更改的两个部分都已生效:
dig +short example.com # should return the external service
dig +short MX example.com # should still return WebGee第二项检查最容易被忽略,而且出问题时毫无提示:邮件只是悄无声息地收不到了。请参阅将域名指向外部 Web 服务。
使用 Cloudflare
将网站接入 Cloudflare 意味着要切换到 Cloudflare 的域名服务器。切换前,请将 Cloudflare 导入的记录与 cPanel → Zone Editor 中的记录逐一对比,尤其要注意 MX 记录。请将 MX 记录和 mail. 主机名保持为 DNS only,并将 Cloudflare 的 SSL 模式设置为 Full (strict)。请参阅将网站接入 Cloudflare。
代理商:品牌域名服务器
代理商账户可以免费在自己的域名上运行域名服务器,例如 ns1.example.com。请先在注册商处注册胶水记录,添加对应的 A 记录,然后在 WHM 的 Basic WebHost Manager Setup 中设置域名服务器。如果网站对部分访客能打开、对另一些访客却打不开,这通常就是胶水记录缺失或不匹配的典型表现。请参阅创建自定义域名服务器。
注册新域名
在 WebGee 注册的域名默认使用 WebGee 的域名服务器。注册后请留意注册人验证邮件:未完成验证的域名会被暂停并停止解析,表现与 DNS 故障一模一样。请参阅注册域名。
常见问题
更改域名服务器需要多长时间?
DNS 生效通常需要几个小时,最长可能需要 48 小时。运行 dig +short NS example.com 可查看是否已返回新的域名服务器。
为什么我在 cPanel Zone Editor 中的修改没有生效?
这几乎可以肯定是因为域名没有使用 WebGee 的域名服务器。如果域名指向 Cloudflare 或您的注册商,请到那里修改记录。
我可以把网站迁到 Wix 或 Squarespace,同时把邮件保留在 WebGee 吗?
可以。在 cPanel Zone Editor 中,只需将主域名的 A 记录和 www 记录改为外部服务提供的值,MX 记录、mail 的 A 记录以及 TXT 记录保持不变。
我可以使用自己品牌的域名服务器吗?
代理商(Reseller)账户可以免费使用。您需要在注册商处注册胶水记录(glue record),添加对应的 A 记录,然后在 WHM 的 Basic WebHost Manager Setup 中设置域名服务器。