为您的 Nostr 身份使用自定义域名:逐步指南
在您控制的域名上托管自己的 NIP-05。为什么您可能需要这样做,如何在几分钟内完成设置,以及它能给您带来托管服务所没有的什么。
使用自己的域名作为 Nostr 身份是一个合理的选择。与托管服务相比,它需要更多的设置工作,但能让您对标识符拥有永久控制权。本指南将介绍何时值得这样做以及具体操作方法。
TL;DR。 注册一个域名,在
https://yourdomain.com/.well-known/nostr.json放置一个包含您的 pubkey 的 JSON 文件,然后在您的 Nostr 个人资料中将yourname@yourdomain.com设置为您的 NIP-05。总设置时间:约 30 分钟。年度费用:仅域名注册费。从客户端角度来看,其效果与托管 NIP-05 服务完全相同。
准备好后, 领取你的 @nostr.blog 地址
为什么自定义域名很重要
用户选择这条路的三个原因。
完全所有权。 只要您续费,自定义域名就属于您。任何第三方(包括 NIP-05 服务)都无法将其夺走。如果 nostr.blog 明天倒闭,您的 alice@nostr.blog 身份将无法解析。而您的 alice@alicedomain.com 不会受到影响,因为该域名属于您。
唯一性。 alice@nostr.blog 传递的信息是"Alice,在 nostr.blog 服务上"。alice@alicedomain.com 传递的信息是"Alice,在 Alice 自己的地方"。对于公众人物、创作者或任何正在打造个人品牌的人来说,自托管标识符具有更强的品牌价值。
控制权。 您自行决定域名的使用策略。您可以拥有多个名称(alice@alicedomain.com、alice-work@alicedomain.com),无需单独注册。您可以在不涉及任何服务的情况下更改关联的 pubkey。
何时自定义域名不值得
诚实的反驳清单。
您是 Nostr 新手。 初次使用的用户应该使用托管服务来快速完成设置。如果您愿意,之后再切换到自定义域名。
您不熟悉 Web 服务器。 设置过程需要编辑服务器配置。这并不难,但对初学者不够友好。
您不会续费域名。 过期的域名会导致您的 NIP-05 失效。如果您不确定能否在未来数年内持续维护该域名,托管服务对您来说更可靠。
该域名已被用于其他品牌。 如果您已经拥有 alicejewelry.com 用于珠宝业务,在其上运行 NIP-05 会将您的 Nostr 身份与该业务绑定。有时这是期望的效果,有时则不是。
前提条件
您需要三样东西。
- 一个您控制的域名。 在 Namecheap、Cloudflare 或类似注册商处注册。大多数顶级域名每年 $10-15。
- 一种在
/.well-known/nostr.json托管静态文件的方法。 最便宜的选择:GitHub Pages、Cloudflare Pages、Netlify、带有 Caddy 的 VPS,或您已有的任何 Web 托管服务。 - 十六进制格式的 Nostr 公钥。 64 个字符,小写字母
a-f和数字0-9。您的客户端账户设置中会显示它。
设置:最快路径(Cloudflare Pages)
如果您已经在使用 Cloudflare 管理 DNS,这是最快的方法。
- 创建一个新的 Cloudflare Pages 项目。
- 在
/.well-known/nostr.json添加一个文件,包含您的名称到 pubkey 的映射:
{
"names": {
"yourname": "your-hex-pubkey-here"
}
}
- 部署。
- 配置 Worker 或 Pages Function,在
/.well-known/*路径上设置Access-Control-Allow-Origin: *响应头。Cloudflare 的文档对此有详细说明。 - 将您的域名指向 Pages 项目。
- 测试:
curl -i https://yourdomain.com/.well-known/nostr.json应该返回带有 CORS 响应头的 JSON。 - 在您的 Nostr 客户端中,将 NIP-05 设置为
yourname@yourdomain.com。保存。 - 几分钟内,验证勾选标记就会出现。
总耗时:如果您熟悉 Cloudflare,约需 20-30 分钟。
设置:VPS 上的 Caddy
适合已经运行 VPS 的用户。
- 在您的 Caddyfile 中添加以下内容:
yourdomain.com {
header /.well-known/nostr.json {
Access-Control-Allow-Origin "*"
Content-Type "application/json"
}
file_server
}
- 在服务器的 webroot 下创建 JSON 文件,路径为
/.well-known/nostr.json:
{
"names": {
"yourname": "your-hex-pubkey-here"
}
}
- 重载 Caddy:
sudo systemctl reload caddy。 - 使用
curl -i https://yourdomain.com/.well-known/nostr.json进行验证。 - 在 Nostr 个人资料中设置 NIP-05。
Caddy 会自动处理 TLS。一旦 DNS 解析完成且文件正常提供,验证即可生效。
设置:GitHub Pages
免费,适合小规模使用,最为简单。
- 创建一个 GitHub 仓库。在其上启用 GitHub Pages,并设置自定义域名(yourdomain.com)。
- 在仓库中添加
.well-known/nostr.json,包含您的名称/pubkey 映射。 - Push。
- 按照 GitHub 的文档,将您的域名 DNS 指向 GitHub Pages。
注意事项:GitHub Pages 不允许您设置自定义响应头。对于 CORS 问题,您需要通过 Cloudflare 进行代理、使用 Cloudflare Worker 添加响应头,或者接受某些基于浏览器的客户端无法验证您的身份。
仅供桌面端使用时,没有 CORS 的 GitHub Pages 也能工作。要获得完整支持,在 GitHub Pages 前面使用 Cloudflare 是常见的变通方案。
一个域名上的多个身份
自定义域名可以托管多个名称。示例 nostr.json:
{
"names": {
"alice": "pubkey-1...",
"alice-work": "pubkey-2...",
"the-journalist": "pubkey-3..."
}
}
每个名称解析到不同的 pubkey。您可以将这些用于您自己的多个身份、家庭成员,或您管理的小型社区。
大多数用户只有一个条目;如果您需要,该选项随时可用。
日后更新您的 pubkey
如果您曾经轮换 Nostr 私钥(由于密钥泄露或其他任何原因),您只需更新 JSON 文件,将您的名称指向新的 pubkey。
操作流程:
- 生成新的密钥对。
- 更新
/.well-known/nostr.json,使用新的十六进制 pubkey。 - 等待客户端缓存清除(某些客户端最长需要 24 小时)。
- 您的标识符现在指向新的身份。
缺点:通过 npub(旧的)关注您的粉丝不会自动切换。他们关注的是特定的 pubkey。即使 NIP-05 标识符仍然存在,关注关系也会丢失。
2026 年的密钥轮换仍然不够完善;NIP-26 委托和 NIP-41 提案旨在改善这一问题。
可选:在 JSON 中包含 relay 信息
NIP-05 允许您在名称旁边发布首选的 relay:
{
"names": {
"alice": "your-pubkey-here"
},
"relays": {
"your-pubkey-here": [
"wss://relay.damus.io",
"wss://nos.lol"
]
}
}
客户端使用此信息在查找您的内容时自动连接到您首选的 relay。这可以提升读者的冷启动性能。
此项可选,有无均可正常运行。
如果您的域名过期会发生什么
NIP-05 验证将停止工作。您在 Nostr 上的帖子仍然存在;您的可读标识符将无法解析。您的底层账户(pubkey)不受影响。
恢复方法:续费域名后,验证将重新开始工作。如果在域名过期期间有人购买了该域名,他们可以在其上申请任何名称,包括您的名称;实际上,这对于个人域名来说很少发生,但对于有价值的域名来说是有可能的。
保护措施:开启域名自动续费,设置备用支付方式,并关注过期提醒通知。
费用比较
五年费用:
- 自定义域名: $50-75(5 × $10-15 域名续费)
- nostr.blog 短名(5 字符): $145(5 × $29)
- nostr.blog 长名(8+ 字符): $14.95(5 × $2.99)
- nostr.blog 单字符高级名称: $4,995(5 × $999)
对于长名称,nostr.blog 是更便宜的选择。对于短高级名称,自定义域名要便宜得多。对于您本就会购买的个人域名,自定义方案实际上是免费的。
何时自定义域名是正确的选择
以下特定用户情况下,自定义域名显然是合适的选择:
- 您已经出于其他目的拥有个人域名
- 您经营一家公司或组织,希望将
you@company.com作为您的 NIP-05 - 您想要短高级名称,而托管服务的价格较贵
- 您重视长期独立于所有第三方服务
- 您管理多个 Nostr 身份,并希望它们都在同一个域名下
对于其他所有人,像 nostr.blog 这样的托管服务是更简便的默认选择。从托管服务切换到自定义域名随时都可以;唯一的代价是标识符更改期间的短暂过渡期。
常见问题
自定义域名比 nostr.blog 的 NIP-05 更好吗?
自定义 Nostr 域名的费用是多少?
我可以使用子域名来设置 NIP-05 吗?
哪些 Web 托管服务适合自托管 NIP-05?
自己托管 NIP-05 会影响 zap 吗?
继续阅读
什么是 NIP-05?Nostr 地址解析
NIP-05 是你在 Nostr 上使用的电子邮件形式的标识符:alice@nostr.blog。它的实际作用、不能做什么,以及如何获得一个。
阅读约 11 分钟身份与 NIP-05如何在 2026 年获取 Nostr 地址(NIP-05)
领取可读 Nostr 标识符的分步指南。最快的托管选项、完全自托管设置、费用和验证。
阅读约 11 分钟身份与 NIP-05为什么你的Nostr身份是可转移的(以及为什么这很重要)
与任何中心化平台不同,你的Nostr身份可以跨越客户端、中继和服务而随时移动。了解可转移性在实践中意味着什么。
阅读约 12 分钟身份与 NIP-05高级 Nostr 地址:简短、易记、属于你
单字母和双字母 Nostr 标识符是存在的,它们价格更高有其原因,拥有一个是一种特定的身份声明。了解高级名称的费用。
阅读约 11 分钟