返回探索
指南VibeFix 编辑部更新于 2026年10月13日

从买域名到绿锁:vibe 项目的自定义域名与 DNS 落地实战

AI 帮你 deploy 到 xxx.vercel.app 只是借住。这篇实战指南带你走完买域名、DNS 解析、Cloudflare 上线链路、HTTPS 落地、邮箱三件套全链路——域名是你唯一真正拥有的资产。

机房网线与挂锁的特写照片,象征域名与网络安全

AI 帮你把项目 deploy 到 yourapp.vercel.app,浏览器里能打开,你觉得上线了。错了——那只是借住。二级域名是平台的,平台随时可以收回、改政策、甚至封你号还不给你申诉入口。用户在 xxx.vercel.app 上看到付款按钮,第一反应不是"好酷的产品",而是"这网站靠谱吗"。这篇指南讲的就是怎么把项目搬到真正属于你的地盘:从买域名、配 DNS,到 HTTPS 落地、邮箱防伪,一条链路全部打通。

一、为什么必须换自定义域名

四个理由,一个比一个现实。

第一,信任直接决定转化。没有人会在一个陌生二级域名上输信用卡。用户为你的产品付费,本质上是在为"这个人/团队跑不跑得掉"下注。一个独立域名 + 绿锁,是成本最低的信任背书。反过来想:你自己会在 random-name-8f3a.vercel.app 上买 99 美元的年费会员吗?不会,就这么简单。

第二,品牌才有复利。vercel.app 的品牌资产是 Vercel 的,不是你的。你在社交媒体、Product Hunt、朋友圈发出去的每一个链接,都在给别人的域名攒权重。自定义域名是你唯一能带走的流量资产,换平台、换技术栈,域名一指,流量就跟过来了。

第三,Cookie 作用域是个真实存在的坑。浏览器按"域名后缀"隔离 Cookie 的粒度比你想象的粗。如果你把 Cookie 的 Domain 写成 .vercel.app(或者某些框架默认行为接近如此),你的登录态理论上会被发往所有 *.vercel.app 站点——包括别人的。这不只是隐私问题,更是安全问题:别人的站点如果有 XSS 漏洞,你的用户 Cookie 就在射程内。用自己的域名,这个问题从根上消失。

第四,SEO 从第一天就该是你的。搜索引擎把二级域名当作主域名的一部分来评估,vercel.app 权重再高也分不到你头上。独立域名从上线第一天就开始积累自己的域名权重,越早换,复利越早开始。

一句话观点:服务器是租的,平台是借的,域名是你唯一真正拥有的资产。一个 vibe 项目从"玩具"变成"产品"的分界线,就是它有没有自己的域名。

二、买域名实战:注册商与命名

先说结论,再说理由。2026 年依然成立的注册商选择:

  • Cloudflare Registrar(首选):按成本价卖域名、续费不加价,这是它跟所有人都不一样的地方。条件是你必须把 DNS 托管在 Cloudflare(免费),对正好要走本文第五节 A 链路的人来说,这根本不算条件。.com 一年十几美元,续费同价,不玩首年 1 美元次年 15 美元的把戏。
  • Namecheap:首年经常有折扣,WHOIS 隐私保护(WhoisGuard)免费送。如果你就想先低成本占个坑,它是稳妥的老牌选择。注意看续费价再下单。
  • 阿里云万网:只有一种情况选它——你的用户主要在国内、且打算做 ICP 备案。备案只能用国内注册商的域名,这是硬性规定,没有 workaround。纯出海项目不用考虑。

一句话:不备案就 Cloudflare,想省首年钱就 Namecheap,要备案就万网。别在注册商对比上纠结超过 30 分钟,域名本身才是重点。

命名 5 原则(AI 给你起名时它可不会管这些):

  1. 短:最好 10 个字母以内,超过 15 个就该换。用户要手打、要口头告诉朋友,每多一个字母就多一分流失。
  2. 好念:电话里念三遍对方能拼对,才算过关。拗口的造词不如直白的组合词。
  3. 无连字符、无数字谐音:连字符在口头传播中是灾难("my-app 的 app 前面有个横杠"),数字 0 和字母 o 的混淆同理。
  4. .com 优先,但不必执念:.com 仍是默认信任后缀,能注册到就拿。但如果好名字只剩 .io / .dev / .app,加价在合理范围(一年几十美元)内可以接受——前提是看清续费价,有些新顶级域续费是首年的 10 倍。
  5. 避开商标与大厂产品名:名字里带别人的商标,上线那天就是收到律师函倒计时。动手前花 5 分钟搜一下。

WHOIS 隐私保护必须开。不开的话,你的姓名、邮箱、电话会出现在公开的 WHOIS 数据库里,接下来就是无穷无尽的垃圾邮件和"域名经纪"骚扰电话。Cloudflare 和 Namecheap 都免费提供,开了没有任何坏处——只有一个例外,见第九节第 5 个坑。

别在 AI 推荐的冷门后缀上浪费钱。AI 起名最爱给你推 .xyz、.top、.online 这类,理由是"便宜、能注册到短域名"。真相是:首年 1 美元是鱼饵,续费 15 美元起才是鱼钩;而且这类后缀在用户心智里约等于"垃圾站",信任分先天打折。域名的钱一年就几十美元,这是全项目 ROI 最高的支出,别省错地方。

三、DNS 解析全流程:8 步,每步一句话

DNS 是整个链路里最"玄学"的部分,其实它就是一个层层转包的问路过程。看图:

DNS 解析全流程图:用户输入域名、查本地缓存、递归解析器、根服务器、TLD 服务器、权威服务器、返回 IP、建立连接图1:DNS 解析全流程(以 yourapp.com 为例)。记住两个关键点:每一层都会缓存,以及缓存多久由 TTL 说了算。

把图翻译成人话:

  1. 用户输入域名:在浏览器地址栏键入 yourapp.com 并回车。
  2. 查本地缓存:浏览器缓存、hosts 文件、操作系统缓存依次查一遍。命中了直接跳到第 8 步——这就是为什么你改了 DNS 自己却看不到变化(第九节第 2 个坑)。
  3. 递归解析器:比如 1.1.1.1 / 8.8.8.8。它是替你跑腿的,全程查询并把结果按 TTL 缓存起来,下次有人问直接给答案。
  4. 根服务器:全球 13 组,它只干一件事——告诉递归" .com 归谁管,去问 TLD 服务器"。它不认识你的域名,也不需要认识。
  5. TLD 服务器:.com 注册局的服务器,回答" yourapp.com 的权威 NS 是哪几台"。
  6. 权威服务器:终于到你说了算的地方——你的 DNS 服务商(如 Cloudflare)返回真正的 A / AAAA / CNAME 记录。
  7. 返回 IP 地址:递归把最终 IP(如 76.76.21.21)交给浏览器。
  8. 建立连接:浏览器向这个 IP 发起 TCP + TLS 握手,开始 HTTP 请求。

TTL 的取舍是这节唯一的实操要点。TTL 就是"递归解析器可以把结果缓存多久"。准备迁移服务器、换 IP 之前,提前把 TTL 调小(如 300 秒),这样切换时全球生效只要几分钟;平时稳定运行后,把 TTL 调大(如 86400 秒),减少查询次数、加快解析。顺序别反:先调小、等旧 TTL 过期、再迁移;迁移完稳定了,再调大。90% 的"DNS 切换翻车"都是没提前降 TTL。

四、DNS 记录实战表:6 种记录,一句话讲清

记录一句话用途vibe 项目真实用例
A域名 → IPv4 地址裸域名 yourapp.com 指向 Vercel 的 76.76.21.21
AAAA域名 → IPv6 地址和 A 配对使用;2026 年移动端 IPv6 流量占比已不低,Vercel/Cloudflare 会自动给你配好
CNAME域名 → 另一个域名(别名)www.yourapp.com → cname.vercel-dns.com,Vercel 换 IP 你不用动
ALIAS / ANAME长得像 A、行为像 CNAME,专治裸域名裸域名想享受 CNAME 的"IP 变更自动跟随",又受协议限制不能用 CNAME 时用它
TXT往 DNS 里塞一段文本,供别人验证域名所有权验证、ACME 证书签发(_acme-challenge)、SPF/DKIM/DMARC(见第七节)
MX这个域名的邮件由谁收yourapp.com 的邮件交给 Google Workspace / Cloudflare Email Routing 处理

裸域名不能 CNAME,是 DNS 协议里最著名的坑。RFC 规定:一个域名如果有 CNAME 记录,就不能再有任何其他记录;但裸域名(apex,如 yourapp.com 本身)按规定必须有 SOA 和 NS 记录——两者冲突,所以裸域名挂 CNAME 在协议层面就是非法的。后果很实在:Vercel 的 IP 是 Anycast、可能变化,你想让裸域名"自动跟随"却用不了 CNAME。

解法叫 CNAME flattening(CNAME 扁平化):Cloudflare 会在它的权威服务器上替你把 CNAME 实时解析成 A 记录再返回,对外表现就是一条普通的 A 记录,协议合规、IP 变更自动跟随。你在 Cloudflare 上给裸域名加 CNAME 指向 cname.vercel-dns.com,打开那朵橙色小云,它就自动帮你扁平化了。其他 DNS 服务商也有类似功能,名字叫 ALIAS 或 ANAME,原理相同。结论:用 Cloudflare 做 DNS,这个坑你这辈子都不会踩到。

五、两条上线链路:决策表 + 手把手步骤

域名买好了,DNS 也懂了,现在决定你的域名怎么"接"到应用上。两条主流链路:

A:NS 托管给 Cloudflare(推荐)B:注册商处加 CNAME 直连
做法把域名的 NS 改成 Cloudflare,DNS/CDN/证书一条龙在注册商 DNS 里加 www → cname.vercel-dns.com,裸域名加 A 记录
优点免费 CDN + WAF + 自动 HTTPS + DNS 解析快;换源站 IP 不用动记录5 分钟搞定,不用动 NS
缺点NS 切换有几小时生效期(一次性)没有 CDN/WAF;裸域名 A 记录写死 IP,源站换 IP 要手动改;证书全靠平台
适合几乎所有人。认真做产品就选这条一次性 demo、24 小时黑客松、用完即扔的验证页

我的判断很明确:除非你的项目寿命按小时计,否则永远选 A。B 链路省下的 20 分钟,会在你第一次被 CC 攻击、第一次想加缓存规则、第一次迁移平台时加倍奉还。

A 链路手把手步骤(以 Cloudflare + Vercel 为例,Netlify 同理):

  1. Cloudflare 添加站点:注册/登录 Cloudflare → Add domain → 输入你的域名 → 选 Free 计划。它会自动扫描你当前的 DNS 记录,确认 MX/TXT 等记录都被扫进来(没扫到就手动补)。
  2. 改 NS:Cloudflare 会给你两个 NS 地址(如 xxx.ns.cloudflare.com)。去你的域名注册商后台,把 NS 改成这两个。改完什么都不用做,等。
  3. 等生效:Cloudflare 站点状态从 Pending 变成 Active,通常几分钟到几小时。用 dig NS yourapp.com 确认返回的是 Cloudflare 的 NS。
  4. Vercel 添加域名:Vercel 项目 → Settings → Domains → 输入 yourapp.com 和 www.yourapp.com。Vercel 会告诉你需要配什么记录。
  5. 回 Cloudflare 配记录:裸域名加 CNAME 指向 cname.vercel-dns.com(橙色云打开,自动 flattening);www 加 CNAME 指向同一目标。Vercel 检测到后会自动签发证书,状态变绿即完成。
  6. 验证:浏览器打开 https://yourapp.com 和 https://www.yourapp.com,确认都有小锁;curl -I https://yourapp.com 看返回头里有没有 cf-ray(有就说明走了 Cloudflare 边缘)。

六、HTTPS 落地:从"有锁"到"真安全"

2026 年了,HTTP 明文站点在 Chrome 里会被直接标"不安全",表单页面更是寸步难行。好消息是证书已经完全免费、完全自动化,坏消息是"自动"不等于"不用懂"。

ACME / Let's Encrypt 自动续期原理,一句话:你的服务器(或 Vercel/Cloudflare)定期向 Let's Encrypt 证明"我确实控制这个域名"(往 DNS 加一条 TXT,或在网站放一个特定文件),验证通过就签发一张 90 天证书,到期前自动重复一遍——整个过程无人值守。另外注意行业趋势:证书有效期正在被持续缩短(从 2026 年起新签证书最长 200 天,未来还会更短),手动续证书是死路,自动续期是唯一的活法。用 Vercel/Cloudflare 的人这一步是白送的,自建服务器的人请装 certbot 并设好 cron。

HSTS 与预加载列表(preload):先搞懂再开,尤其是 preload。HSTS 是一条响应头(Strict-Transport-Security: max-age=31536000),告诉浏览器"这个域名接下来一年只准用 HTTPS 访问",能防 SSL 剥离攻击,建议所有生产站点都开。但 preload 是另一回事:提交到 hstspreload.org 后,你的域名会被硬编码进 Chrome/Firefox/Safari 的源码,浏览器连第一次访问都强制 HTTPS。警告:preload 几乎不可逆。提交容易,移除要在浏览器发版周期里等上几个月,期间你的 HTTP 流量(包括某些 API 回调、旧客户端)会全部中断。在你 100% 确定全站 HTTPS 无死角之前,不要碰 preload。HSTS 可以开,preload 请三思。

混合内容(mixed content)排查三板斧:上了 HTTPS 却发现小锁是灰色感叹号,99% 是页面里混进了 http:// 资源。三板斧:① 打开浏览器开发者工具 → Console + Network,按协议过滤,把所有 http:// 请求一个个揪出来;② 全站资源引用改成 https://,或直接上协议相对 URL;第三方图床、外链脚本是重灾区;③ 加一条 Content-Security-Policy: upgrade-insecure-requests 响应头,让浏览器自动把 http 子资源升级成 https 兜底。AI 生成的代码最爱写死 http://,vibe 项目上线前务必全局搜一遍。

证书过期监控是最后的保险丝。自动续期也会翻车(ACME 验证 TXT 没加上、CAA 记录拦了签发,见第九节)。用 UptimeRobot、Better Stack 这类免费监控盯着证书有效期,提前 14 天告警。自建的话,一条 cron 跑 openssl s_client 检查过期时间、过期前发邮件/ webhook 就够了。证书过期=全站宕机,这个监控的优先级和宕机监控同一级。

七、邮箱域名三件套:SPF / DKIM / DMARC

你的 vibe 项目迟早要发邮件:注册验证、密码重置、订单通知。不配下面这三件,你的验证邮件大约一半会进垃圾箱——用户收不到验证码,转头就骂你的产品是骗子。三件套各防什么,一句话讲清:

  • SPF:防"冒充发件服务器"。一条 TXT 记录声明"只有这些服务器能替 yourapp.com 发邮件",收件方查到发件 IP 不在名单里就拒收/标记。
  • DKIM:防"邮件内容被篡改"。发件服务器用私钥给每封邮件签名,收件方用你 DNS 里的公钥验签——对得上,说明内容没被动过、确实是你发的。
  • DMARC:前两者的"总指挥"。告诉收件方"SPF/DKIM 都没通过时怎么处理(放行/隔离/拒收)",并把处理报告发到你指定的邮箱。

在 Cloudflare 上的 TXT 记录示例(以用 Resend 发事务邮件为例,换成其他服务商就把 include 的值换掉):

类型 TXT | 名称 @            | 内容 v=spf1 include:_spf.resend.com ~all
类型 TXT | 名称 resend._domainkey | 内容 v=DKIM1; k=rsa; p=MIGfMA0G...(Resend 后台给你的公钥)
类型 TXT | 名称 _dmarc       | 内容 v=DMARC1; p=quarantine; rua=mailto:dmarc@yourapp.com

注意 p=quarantine 是起点:先隔离可疑邮件并收报告,观察一两周确认误伤率为零,再收紧到 p=reject。一上来就 reject,配错一条记录就等于自己把自己的邮件全枪毙了。

观点:SPF/DKIM/DMARC 不是"安全加分项",是"邮件能送达"的前置条件。2026 年 Gmail、Outlook 对没有这三件的发件域名越来越不客气。发邮件的基础设施选型(Resend、Postmark、AWS SES 怎么选)本站此前发布过《事务邮件基础设施》指南专门讲过,本文不展开,需要的去站内搜那篇。

八、子域名规划:现在多想 10 分钟,省掉以后一周

域名到手别急着全站只用裸域名,子域名规划是免费的,现在定好能省掉以后的迁移之痛。

www 跳转还是裸域名为主?给明确建议:裸域名(apex)为主,www 301 跳转到裸域名。理由:短、好记、品牌感强;现代 CDN/平台对裸域名的支持已经没短板(CNAME flattening 见第四节)。反例是选 www 为主——你所有的宣传物料都要多打 4 个字母,亏。在 Cloudflare 里加一条 www → yourapp.com 的 301 重定向规则(或用 Page Rules),SEO 权重会合并到裸域名,不会分散。

api. / app. 拆分时机:前后端分离的项目,api.yourapp.com 给后端 API、app.yourapp.com 给前端应用,是干净的做法。但如果你的 vibe 项目是 Next.js 全栈一把梭,别为了"架构感"硬拆——同域还能省掉 CORS 的麻烦。判断标准:前后端是否独立部署、是否可能被不同团队/服务消费。都是否,就别拆;有一个是,就拆。

staging. / preview. 环境隔离:staging.yourapp.com 跑预发布环境,*.preview.yourapp.com(或 Vercel 自带的 preview URL)给每个 PR 自动生成预览。预发布环境必须和生产环境数据隔离,这是铁律;另外给 staging 加一层 HTTP Basic Auth 或 IP 白名单,别让搜索引擎收录了你的半成品,也别让用户误闯进测试环境下单。

九、故障排查:5 个坑,每个都真实发生过

坑 1:DNS 传播不是玄学。"我改了 DNS,为什么手机上还是旧的?"先别慌:跑 dig yourapp.com @1.1.1.1 和 dig yourapp.com @8.8.8.8 对照,再跑 dig yourapp.com @你的权威NS。如果权威已经是新的、公共递归还是旧的,那就是 TTL 缓存没过期,等;如果权威都还是旧的,说明你改错了地方。记住:权威服务器永远是对的,递归看到的都是延迟的真相。

坑 2:本地 hosts 缓存 / 浏览器 DNS 缓存。开发时为了调试在 /etc/hosts 里写死过 127.0.0.1 yourapp.com,上线后忘了删,然后满世界说"DNS 没生效"。排查三连:先看 hosts 文件,再清浏览器 DNS 缓存(chrome://net-internals/#dns),最后换个没碰过的设备/网络验证。

坑 3:证书签发卡在 CAA 记录。CAA 是一条 DNS 记录,声明"只允许某某 CA 给我签证书"。症状:Vercel/Cloudflare 一直显示"证书签发中",等一天也没好。原因:你(或之前的 DNS 服务商)留了一条 CAA 记录只授权了旧的 CA。解法:检查有没有 CAA 记录,要么删掉,要么把 letsencrypt.org、pki.goog(Google Trust Services,Vercel 在用)、digicert.com 加进去。

坑 4:裸域名配了 A 记录,又想迁 CDN。当初图省事,裸域名 A 记录直接指向源站 IP;半年后想上 Cloudflare CDN,发现 A 记录写死了 IP、CDN 的边缘调度玩不转。正确姿势见第四节:裸域名用 CNAME + flattening,让 IP 永远是"算出来"的而不是"写死"的。已经写死的,迁移那天把 TTL 提前降下来再切。

坑 5:WHOIS 隐私导致域名验证邮件收不到。第二节说隐私保护必开,但有个副作用:某些 CA/平台发域名验证邮件到 admin@yourapp.com 这类 WHOIS 公开邮箱,而隐私保护把 WHOIS 邮箱换成了代理地址,验证邮件就石沉大海了。症状:证书/服务一直卡在"等待邮箱验证"。解法:优先用 DNS TXT 验证(不受邮箱影响);非用邮箱验证不可时,临时关掉隐私保护、验证完再打开。

十、上线验收清单 + 收尾

复制下面这张清单,一项项打勾,全绿了再官宣上线:

  • ☐ https://yourapp.com 和 https://www.yourapp.com 都能打开,都有小锁(无感叹号)
  • ☐ http://yourapp.com 自动 301 跳转到 https://
  • ☐ www 301 跳转到裸域名(或按你的规划反向),无跳转环路
  • ☐ curl -I 确认走了 CDN(cf-ray / 对应响应头存在)
  • ☐ 开发者工具 Console 无 mixed content 警告
  • ☐ HSTS 响应头已加上;preload 没开(除非你 200% 确定)
  • ☐ SPF / DKIM / DMARC 三条 TXT 记录已加,p=quarantine 起步
  • ☐ 发一封注册验证邮件到 Gmail,确认进收件箱而非垃圾箱
  • ☐ 证书过期监控已配置(提前 14 天告警)
  • ☐ staging.yourapp.com 已隔离 + 加了访问控制
  • ☐ 域名自动续费已打开,日历里记了到期前 30 天检查

最后一条容易被忽略:打开域名的自动续费。每年都有知名项目因为域名过期整个下线,赎回期还可能被抢注。自动续费+日历提醒,双保险,5 分钟的事。

收尾回到开篇的观点:vibe coding 让"做出一个能跑的产品"变成了下午茶的功夫,但"拥有一个产品"依然是严肃的事。域名、DNS、证书、邮箱——这些基础设施不会出现在你的 demo 视频里,但它们决定了用户敢不敢点、敢不敢付钱、以及三年后这个项目还属不属于你。AI 负责把想法变成代码,你负责把代码变成资产。从买下第一个域名的那一刻起,你才算真正拥有了你的 vibe 项目。

vibe 项目上线链路架构图:用户、权威 DNS、Cloudflare 边缘节点、源站 Vercel图2:vibe 项目上线链路架构(Cloudflare + Vercel 方案)。记住证书终止位置:用户看到的锁由边缘证书提供,边缘到源站同样建议保持 HTTPS。
阅读 0评论 0

评论 (0)

ME
0/1000
评论加载中...
浏览项目广场发布你的项目

相关文章

地铁车厢里正在使用手机的乘客——离线优先设计要解决的典型弱网场景
指南
没网也能用:vibe 项目的离线优先与数据同步实战

AI 默认生成的是永远在线的应用,而你的用户在地铁、电梯、高铁隧道里直接白屏。本指南把离线能力分成四档(L0–L3),逐层讲透实战技术栈:Dexie 本地存储、Service Worker 缓存策略决策表、带幂等键的 outbox 写操作队列、按场景选择的三种冲突解决策略,并附上线 checklist 与四条真实反模式。

数据工作流性能优化独立开发
Grafana 网站性能监控仪表盘:内存/CPU、登录数、服务器请求与客户端加载分位数图表,上线压测时盯的就是这类看板
指南
上线前先压一下:vibe 团队的 k6 压测与容量规划实战

AI 写的代码在单用户世界里完美运行,上线第一天就可能被 100 个并发打崩。这篇指南教你 15 分钟跑通第一条 k6 脚本:从真实用户行为反推压测场景,读懂 p95/p99 与饱和信号,用三板斧定位 DB、连接池与第三方 API 瓶颈,再把压测数字换算成能撑多少付费用户,最后让压测进 CI 自动守门。

部署上线后端工程测试与质量