服务器释放后忘了删解析记录,域名会不会被别人的站顶上,还挂着我的备案号?

DNS 里的一条 A 记录,内容就是一个 IPv4 地址。它不记得这个地址当初是谁买的,服务器没了它也不会自己失效。只要记录还在,浏览器就照着连过去,那边现在是谁的机器,DNS 不管。

放到云服务器上,这事就有点麻烦。设想一种挺常见的情况:一台跑个人博客的 ECS 到期没续,过段时间被释放,域名解析没人动。某天再打开这个域名,页面完全陌生,页脚却还是原来那串备案号。备案号只是页面里的一段文字,对方模板里写什么都行,而访客地址栏里看到的确实是你的域名。

IP 是怎么离开你的

阿里云 ECS 的释放实例文档里写着:释放时实例的固定公网 IP 会被回收,无法找回,给的规避办法是把固定公网 IP 转成弹性公网 IP。回收以后这个地址什么时候、会不会分给别的用户,文档没写,但它已经不归你了,别人日后拿到同一个地址并不奇怪。

不续费也不是当天就没。按包年包月页面的表格,到期后 15 天内固定公网 IP 保留,到期第 16 天 0 点起释放固定公网 IP,绑定的 EIP 会被解绑。按量付费写在欠费说明里:欠费先停机,持续欠费 15 天后释放或解绑 ECS 资源,固定公网 IP 也是 15 天内保留、之后释放。释放实例那篇还提到,实例释放保护对欠费回收这类系统自动释放不生效,别指望它兜底。

EIP 的功能限制 FAQ 里有个容易漏的点:除了实例释放,把带宽设成 0 Mbps,或者选节省停机模式停机,固定公网 IP 同样会被回收或释放,重新分配时阿里云不保证还是原来那个。

Azure 有篇讲悬空 DNS 和子域接管的文档,例子是 CNAME 指向已删除的 Azure 资源,道理相通:记录指向了一个你已经不控制的东西。文档列的后果有内容失控、品牌受损、钓鱼,还提到对方可以用接管的域名申请并拿到有效的 SSL 证书。常见的 HTTP 验证方式,看的是这个域名当前指向的服务器能不能按要求返回内容,谁控制那台机器谁就能通过,所以地址栏那把小锁在这种情况下说明不了什么。

国内站点还多一层麻烦:备案号对应的是你的主体,别人顶着你的域名和备案号对外放内容,真出了问题,解释起来够你受的。

自查清单

  • 停服、退订、到期之前,先把相关域名的 A 记录改掉或删掉,再动服务器。顺序反了就会留出一段空窗。
  • 正经对外的服务用 EIP,或者前面挂负载均衡,让域名指向一个不跟着某台后端实例一起消失的地址。FAQ 里也写了 EIP 到期或欠费未缴同样可能被释放,它的续费一样要盯。
  • 续费提醒别只靠默认。包年包月页面说默认会在到期前 7 天、3 天、1 天、到期当天和释放前一天通过站内信、邮件、短信提醒,也能在消息中心订阅到期前 15 天或 30 天的提醒。顺便确认接收手机号还在用。
  • 隔一阵去 crt.sh 搜一下自己的域名,看列表里的签发时间和签发机构,出现不是自己申请的证书就要警惕。
  • 域名多的话拉一张表:每条解析指向哪个资源、资源在哪个账号、什么时候到期。

已经发生了怎么办

先改 DNS。把记录删掉,或者指回你自己控制的地址,等各地缓存的 TTL 过去,新的访问就不会再落到对方机器上,到时再查一次解析确认生效。之后再去举报,阿里云有举报平台,备案这边也建议跟自己的接入商说明情况。crt.sh 上如果查到陌生证书,把记录一起留存。还要翻一下自己的应用配置、回调地址、OAuth 设置里有没有引用这个域名,Azure 那篇也提醒过,敏感数据可能被发到悬空的域名上。

大家下线服务器的时候有固定的检查清单吗?DNS 这一步一般归谁管?