−25%

Windows 按年付费,截至 10 月 31 日。 查看套餐

EQVPS

如何把域名解析到你的 VPS(A、AAAA 和 www)

用 A 和 AAAA 记录把域名解析到 VPS,处理好 www,用 dig 检查生效情况,再开启 HTTPS——以及为什么 NAT 套餐无法对外提供网站。

域名买了,VPS 也有了,浏览器却还是说"无法访问此网站"。缺的那一块几乎总是两条 DNS 记录,外加一个真正在正确地址上响应的 Web 服务器。下面是完整的流程,从域名注册商一直到能用的 HTTPS 小锁。

开始之前:你的套餐能接收网页流量吗?

访客会连接服务器的 80 和 443 端口,这需要一个有独立公网 IP 的套餐。NAT 套餐只转发你的专属 SSH 端口,所以没法在域名上托管网站——我们的文章独立 IP 还是 NAT 解释了两者的区别。小网站在 Nano-IP 上就跑得很好。

1. 找到服务器的地址

IPv4 和 IPv6 地址都在控制面板的服务器页面上。示例里我们用文档专用地址:

2. 创建 DNS 记录

登录管理域名 DNS 的地方(通常是域名注册商),添加:

类型名称值TTL
A@203.0.113.10300
AAAA@2001:db8::10300
CNAMEwwwexample.com.300

@ 表示主域名。300 秒这样的短 TTL 让改错的成本很低;一切正常后可以调到 3600。

如果暂时不想用 IPv6,先别加 AAAA 记录——原因见第 5 步的提醒。

3. 检查 DNS 是否生效

别轻信注册商的"已保存"提示,直接问 DNS:

dig +short example.com A
dig +short example.com AAAA
dig +short www.example.com
dig +short example.com A @1.1.1.1

最后一行问的是公共解析服务器,更接近访客看到的结果。如果返回的是你的 IP,DNS 就搞定了。

4. 让服务器响应

安装 nginx 并开放端口:

apt update && apt install -y nginx
ufw allow 80/tcp
ufw allow 443/tcp

打开 http://example.com——应该能看到 nginx 的欢迎页。现在用免费证书加上 HTTPS:

apt install -y certbot python3-certbot-nginx
certbot --nginx -d example.com -d www.example.com

Certbot 会修改 nginx 配置、设置跳转到 HTTPS,并自动续期证书。如果 nginx 后面跑的是真正的应用,请按我们的带 HTTPS 的反向代理指南来做。

5. IPv6 的坑

很多人栽在这里。你加了 AAAA 记录,可 nginx 只监听 IPv4。走 IPv6 的访客(很多移动网络)会先尝试 IPv6 地址,然后失败。请确认 server 块里两行都有:

listen 80;
listen [::]:80;

Ubuntu 上 nginx 的默认配置已经带了 [::],但自定义配置经常漏掉。找一台有 IPv6 的机器测试:

curl -6 -I https://example.com

常见问题

关于反向 DNS

A 和 AAAA 记录是从名称到 IP。反向 DNS(PTR)方向相反,而且是在控制面板里设置,不在注册商那里。只有发邮件或某个服务要检查它时才需要——我们的 PTR 指南有详细说明。

如果你是第一次把网站放上线,网站使用场景页面能帮你选配置,网络文档列出了每个套餐分配的地址。

常见问题

DNS 多久才能生效?

通常几分钟。修改后的记录在旧 TTL 过期后就会处处可见——TTL 为 300 就是五分钟。全新注册的域名可能要更久,因为注册局需要先发布域名服务器。

我需要 AAAA 记录吗?

只有当你的 Web 服务器监听 IPv6 时才需要。如果加了 AAAA 但 nginx 只监听 IPv4,IPv6 访客就会遇到连接错误。要么配置 'listen [::]:80' 和 '[::]:443',要么别加 AAAA。

www 该用 CNAME 还是 A 记录?

都可以。用 CNAME 指向主域名的话,IP 变了只需改一条记录。只要确认证书覆盖了两个名称就行。

NAT 套餐能托管网站吗?

不能直接托管。NAT 套餐只转发你的专属 SSH 端口,访客到不了 80 和 443 端口。要在自己的域名上放网站,需要独立 IP 套餐。

反向 DNS 是一回事吗?

不是。A 和 AAAA 把名称映射到你的 IP;反向 DNS(PTR)把 IP 映射回名称。PTR 主要对邮件服务器重要,而且是在控制面板里设置,不是在域名注册商那里。

评论

暂无评论。来做第一个吧。

发表评论

评论在显示前会经过审核。