域名不是服务器,解析也不是网页
域名是便于记忆的名称,DNS 提供名称到地址等信息的查询。浏览器得到地址后,还需要连接服务器,由 Web 服务返回内容。因此“解析已生效”只证明查询得到相应记录,不能保证网站文件、端口和证书都正确。
同一台服务器可以承载多个域名。Nginx 通过请求中的主机名称等信息选择站点配置,HTTPS 还会在握手时使用 SNI 选择证书。要让两个网站互不覆盖,应使用各自的站点配置与文件目录。
认识几种常见记录
A 记录将名称指向 IPv4 地址,AAAA 记录指向 IPv6 地址,CNAME 记录将名称作为另一个名称的别名。解析控制台中常用 @ 表示当前根域名,www 表示相应子域名,这两个名称需要分别考虑。
一条 A 记录通常只填写地址本身,不包含 https://、端口或网页路径。网站的协议跳转与具体目录由 Web 服务器处理,不是在 A 记录里填写。不同 DNS 提供商对别名和根域名的支持存在差异,配置前查看对应说明。
TTL 与缓存为什么重要
TTL 表示 DNS 记录可以被缓存的时长。修改记录后,有些查询仍可能得到此前缓存的结果;此前 TTL、负缓存和应用行为都会影响观察结果,所以不能承诺所有网络在固定几分钟内同时更新。
排查时先查看权威 DNS 上配置的记录,再与当前网络的查询结果比较。还要留意遗留 AAAA 记录:如果它指向错误的 IPv6 地址,部分访问者可能遇到与 IPv4 用户不同的访问结果。
把查询与网页请求分开测试
Windows 可以用 nslookup jdqsw.com 查看解析结果;这是查询命令,不会修改 DNS。得到预期 IP 后,再检查浏览器访问、服务器监听端口和防火墙。不同网络结果不一致时,保留各自查询时间与输出,便于比较。
如果访问到了默认欢迎页,常见排查方向是域名绑定、Nginx 所选站点和根目录。若看到证书域名不匹配,应检查 HTTPS 证书和 SNI 配置,而不是仅反复修改解析。
上线后保留一份配置记录
记录根域名和 www 的解析目标、TTL、服务器站点目录与证书覆盖范围。后续迁移时按层验证,先准备新站点和备份,再调整必要记录,避免一边修改解析一边删除旧文件。
不要把 DNS API 密钥、SSH 私钥或面板密码写入网页和公开仓库。静态个人网站一般不需要浏览器接触这些凭据;自动化维护使用的权限也应限定到必要范围。
参考与延伸阅读
本文采用独立表述整理基础知识,以下官方资料用于核实原理和适用条件。