你的「数字尸体」正在互联网裸奔
一份独立开发者的域名过期资源清理完全指南
TLDR 速查表 · 10 大清理项 · 安全风险揭秘 · SOP Checklist
但你可能不知道的是,域名过期只是故事的开始。你散落在 Vercel、Cloudflare、GitHub、Supabase、Google Analytics 上的各种配置,就像离开战场后没拆的地雷——随时可能被别人踩到,或者,被别人"利用"。
✦ ✦ ✦
域名过期 ≠ 万事大吉。不清理残留配置 = 安全隐患 + 费用黑洞 + 数字遗产垃圾。
1Vercel · 删除项目或解绑域名
2GitHub · 归档/删除仓库,检查 Pages 设置
3GSC · Google Search Console 移除站点
4GA · Google Analytics 删除/归档数据流
5Cloudflare · 删除站点,清理 DNS 记录
6Cloudflare R2 · 清理存储桶静态资源
7Supabase · 暂停/删除项目,避免持续计费
8Ahrefs · 移除项目监控
9本地代码 · 至少保留一份备份
10外链资源 · 清理其他项目中的指向链接
「互联网从不遗忘——尤其是你希望它遗忘的那些部分。」
✦ ✦ ✦
大多数独立开发者和小团队的心态是:「域名不续费了,项目自然就死了嘛。」
但现实远比你想象的残酷且危险。让我们看看不清理会发生什么:
💸 风险一:费用黑洞——你以为免费,其实在持续扣钱
很多云服务是按用量计费的。你的 Supabase 项目即使没人访问,只要没暂停,数据库依然在运行,每月照常计费。Cloudflare R2 存储桶里放着的那些静态资源?只要桶还在,存储费用就在默默累积。
更隐蔽的是 Ahrefs 等 SEO 监控工具。如果你忘了移除已过期域名的项目监控,那就是在白白浪费订阅额度——把宝贵的配额让给了一个已经不存在的网站。
「最贵的代码,是你忘了自己部署过的代码。」
🔓 风险二:安全核弹——你的域名可能正在被坏人利用
这是最容易被忽视但后果最严重的风险。
域名过期后,一般会经历三个阶段:
域名暂停解析,但还能按原价续费恢复
赎回期(30-70 天)
域名无法正常管理,需要支付高额赎回费(国内域名赎回费高达 500-2000 元)
删除期(约 5 天)
域名被彻底删除,任何人都可以重新注册
关键来了:一旦你的域名被别人注册,而你的各种 DNS 配置、CNAME 记录、子域名指向还残留在那里——这就形成了安全领域里说的 Dangling DNS(悬挂 DNS)。
2021 年,安全研究人员发现一个过期域名被攻击者接管后,成功伪造了 TLS 证书,创建了以假乱真的银行和社交媒体钓鱼网站。
2017 年,Python 生态的 PyPI 仓库曾使用的一个域名过期后被恶意注册,数千名开发者在不知情的情况下连接到了恶意域名,项目代码面临被注入恶意代码的风险。
2020 年,IBM 的 developerWorks 门户退役后,关联域名未及时续费,攻击者通过残留的 CNAME 记录控制了子域名,部署了恶意内容。
「过期的域名不会消失——它会变成武器。」
想象一下:你之前用 GitHub Pages 部署的项目,CNAME 记录还指向那个过期域名。攻击者注册了这个域名,然后在 GitHub 上用同样的配置搭建了一个钓鱼页面——你的老用户访问时,看到的是一个「看起来完全合法」的恶意网站。
🗑️ 风险三:数字垃圾堆——管理效率的隐形杀手
作为独立开发者,你可能同时在跑好几个项目。如果每个废弃项目都留着一堆残留配置,很快你的各种平台账号就会变成数字垃圾堆:
✦ Vercel 控制台里堆满了早已失效的项目
✦ Cloudflare 的 DNS 列表里满是指向虚无的记录
✦ Google Analytics 里一堆零数据的僵尸属性
✦ GitHub 仓库列表翻三页都找不到正在维护的项目
当你真正需要在这些平台上操作时,在垃圾里找东西的成本远比你想的大。
✦ ✦ ✦
下面我们按优先级从高到低,逐一讲清每个平台应该怎么清、为什么要清。
🛡️ 1. Cloudflare — 删除站点,清理 DNS 记录
优先级:🔴 最高 — 这是安全风险的重灾区。
Cloudflare 作为 DNS 服务商,如果你不主动删除站点,那些 A 记录、CNAME 记录、MX 记录都还活着。一旦域名被别人注册并修改 Nameserver,残留的配置可能导致子域名劫持(Subdomain Takeover)。
1登录 Cloudflare Dashboard
2找到对应站点,进入 DNS 设置
3逐条检查并删除所有 DNS 记录
4最后删除整个站点(Remove Site)
「悬挂的 DNS 记录,是互联网上沉默的后门。」
📦 2. Cloudflare R2 — 清理存储桶内的静态资源
优先级:🟠 高 — 存储费用会持续产生。
很多独立开发者用 R2 存放网站的图片、CSS、JS 等静态资源。项目废了,但桶还在,存储费虽然不多,积少成多也是浪费。更重要的是,如果桶设置了公开访问,这些资源可能被爬虫索引或被人利用。
▲ 3. Vercel — 删除对应项目或解绑域名
优先级:🔴 最高 — 子域名劫持重灾区。
Vercel 上绑定了过期域名的项目尤其危险。如果有人注册了你的过期域名,并在 Vercel 上新建一个项目绑定同样的域名——他们就接管了你原来的网站入口。
✦ 进入项目 Settings → Domains,删除所有自定义域名
✦ 如果项目不再需要,直接删除整个 Vercel 项目
✦ 检查是否还有其他项目引用了该域名
🐙 4. GitHub — 归档或删除仓库,检查 Pages 设置
优先级:🔴 高 — GitHub Pages 子域名劫持是已知高频攻击。
GitHub 官方文档明确警告过:
「请确保在 DNS 服务商配置自定义域名之前,先在 GitHub Pages 中添加自定义域名。」
反过来说,如果你在 DNS 上配置了但 GitHub Pages 上没清理,攻击者就可能在你的子域名下托管恶意内容。安全研究团队 Palo Alto Unit 42 的数据显示,在他们检测到的所有悬挂域名中,36.9% 来自 GitHub。
✦ 进入仓库 Settings → Pages,移除自定义域名配置
✦ 删除仓库根目录的 CNAME 文件
✦ 决定是归档仓库(Archive)还是删除仓库(Delete)
✦ 建议:代码有参考价值就归档,否则直接删除
⚡ 5. Supabase — 暂停或删除项目,避免持续计费
优先级:🟠 高 — 数据库不会因为没人用就停止计费。
Supabase 的免费计划有项目数量限制。废弃项目如果一直挂着,会占用你的免费额度。如果你用的是付费计划,后端服务会持续计费——你可能会看到账单上莫名其妙多了几十美元。
📊 6 & 7. Google Search Console + Google Analytics
优先级:🔵 中 — 不清理不会扣钱,但会造成管理混乱。
GSC(Google Search Console):移除站点资源。域名过期后,如果有人重新注册并验证了所有权,他们就能看到你留下的历史搜索数据和索引信息。虽然这通常不是重大安全风险,但出于数据卫生考虑,应该清理。
GA(Google Analytics):删除或归档对应的数据流(Data Stream)。堆积的僵尸属性会让你的 GA 控制台一团糟,找个真正在用的数据流都要翻半天。
🔍 8. Ahrefs.app — 移除项目监控
优先级:🔵 中 — 直接影响你的工具使用效率。
Ahrefs 的项目监控有数量上限。一个死掉的域名还占着坑位,等于浪费你的 SEO 监控配额。而且,如果域名被人重新注册并做了一些「不可描述」的内容,你的 Ahrefs 报告里会突然多出一些非常尴尬的数据。
💾 9. 本地代码 — 决定是否保留,至少保留一份备份
优先级:🟢 低但重要 — 代码是你最有价值的资产。
域名可以不要,项目可以放弃,但代码里沉淀的经验和逻辑不该随便丢。你永远不知道什么时候会想回来看看「当时那个功能是怎么实现的」。
🔗 10. 外链资源 — 清理指向过期域名的外链
优先级:🟠 高 — 这是最容易被遗忘的一项。
你可能在其他还在运营的项目中,添加了指向这个过期域名的链接——比如博客文章里的引用、README 里的演示链接、个人主页上的项目展示。如果域名被人接管,你正在运营的网站就成了帮恶意网站导流的帮凶。
✦ ✦ ✦
了解域名过期后会发生什么,能帮你判断「还来得及挽救吗」以及「什么时候必须开始善后」。
暂停解析,72 小时内未续费,DNS 会被指向广告停放页面
第 1-30 天(续费宽限期)
可以按原价续费恢复,系统自动恢复 DNS,最佳挽救窗口
第 31-60 天(赎回期)
域名无法管理,需要支付高额赎回费(.com 国际域名约 500-2200 元,CN 域名 500-1500 元)
第 61-65 天(删除期)
域名进入 PendingDelete 状态,无法续费、无法赎回,约 5 天后彻底删除
第 65 天以后
域名重新开放注册,任何人都可以抢注
「在数字世界里,被遗忘的东西并不会真的消失。」
✦ ✦ ✦
如果这个域名曾经有一定流量或品牌价值,即使不再使用也建议多续费 1-2 年,防止被人恶意抢注后用于钓鱼或 SEO 污染。域名续费一年也就几十块钱,远比事后处理的成本低。
用一个简单的表格记录你所有域名及其关联的服务:注册商、到期时间、绑定的 Vercel/GitHub/Cloudflare 项目、使用的 Supabase 实例等。每季度检查一次。
如果你已经决定要放弃一个域名,在到期前 1 周把 DNS 记录的 TTL 降到最低。这样到期后,全球的 DNS 缓存能更快过期,减少残留流量被利用的时间窗口。
如果你的过期域名曾用于发送邮件,确保移除所有邮件认证记录。攻击者接管域名后,可以利用残留的 SPF 记录通过邮件认证发送钓鱼邮件——而且这些邮件看起来完全「合法」。
「域名过期不该被当作简单的拔插头。它是一个需要多步骤执行的退役流程。」
✦ ✦ ✦
每次域名过期时,打开这份清单,逐项打钩,确保不遗漏任何一项:
🔴 高优先级(安全+费用相关)
☐ Cloudflare R2 — 导出需要的资源,清空并删除存储桶
☐ Vercel — 解绑自定义域名,删除对应项目
☐ GitHub — 移除 Pages 自定义域名配置,删除 CNAME 文件,归档/删除仓库
☐ Supabase — 导出数据库(如需要),暂停或删除项目
☐ 外链资源 — 全局搜索所有项目代码/文档,清理指向该域名的链接
🟠 中优先级(管理效率相关)
☐ GA(Google Analytics) — 删除或归档对应数据流
☐ Ahrefs.app — 移除项目监控,释放配额
🟢 低优先级但别忘了
☐ 邮件相关 — 如域名曾用于邮件,检查 SPF/DKIM/DMARC 记录是否已清除
☐ 域名备案 — 如果是国内域名,记得注销工信部 ICP 备案
☐ SSL 证书 — 检查是否有未过期的 SSL 证书需要吊销
🟣 进阶防护项(推荐)
☐ 域名资产清单 — 更新你的域名管理表格
☐ 降低 TTL — 到期前提前降低 DNS TTL 值
☐ 通知团队 — 如果是团队项目,通知相关成员域名即将过期
✦ ✦ ✦
作为独立开发者,我们经常在「创建」的兴奋中冲锋陷阵,却很少给「善后」留出足够的时间和精力。
一个域名的生命周期,不是从注册开始、到过期就结束的。它的残留配置就像退租后忘在房间里的钥匙——你以为无所谓,但下一个住客可能用它打开了你不想让人进的门。
「快速上线,谨慎退场。」
下次当你看到「Your domain has expired」的邮件时,别只是点个「我知道了」然后关掉——打开这份 Checklist,花半小时把数字后事料理干净。
你的未来自己会感谢现在的你。
欢迎在评论区分享你的经历和教训,让更多开发者避坑!
1. ICANN - 过期域名删除政策(EDDP)
2. Palo Alto Networks Unit 42 - Dangling Domains 研究报告
3. F5 Labs - The Dangers of DNS Hijacking
4. GitHub 官方文档 - Custom Domain & GitHub Pages 安全指南
5. Microsoft Azure - Prevent Subdomain Takeovers 安全文档
6. Proofpoint - Dangling DNS: Mitigating Impersonation Risks
7. Spamhaus - Dangling DNS and the Dangers of Subdomain Hijacking
8. 安全内参 - 针对域名历史信誉的潜在滥用分析
9. 知乎/CSDN - 域名过期流程与赎回期详解
1. https://www.icann.org/resources/pages/eddp-2017-01-18-zh
2. https://unit42.paloaltonetworks.com/dangling-domains/
3. https://www.f5.com/labs/articles/the-dangers-of-dns-hijacking
4. https://docs.github.com/en/pages/configuring-a-custom-domain-for-your-github-pages-site
5. https://learn.microsoft.com/en-us/azure/security/fundamentals/subdomain-takeover
6. https://www.proofpoint.com/us/blog/email-and-cloud-threats/dangling-dns-mitigating-impersonation-risk
7. https://www.spamhaus.org/resource-hub/dns/dangling-dns-and-the-dangers-of-subdomain-hijacking/
8. https://www.secrss.com/articles/42729
9. https://zhuanlan.zhihu.com/p/646854584
10. https://www.paloaltonetworks.com/cyberpedia/what-is-a-dangling-dns
11. https://www.namesilo.com/blog/en/domain-lifecycle/expired-domains-dns-security-risks
12. https://dnsmadeeasy.com/resources/dangling-dns-records-and-the-risk-of-domain-hijacking
13. https://dmarcadvisor.com/dns-dangling/
14. https://go2itgroup.com/expired-domains-and-data-breaches/
15. https://www.cnblogs.com/ymwang/p/8520931.html
16. https://blog.csdn.net/llnara/article/details/75316384
原创文章,作者:兵临城下,如若转载,请注明出处:https://www.liulinblog.com/10146.html
