Nostrアイデンティティにカスタムドメインを使う:ステップバイステップ
自分が管理するドメインでNIP-05をホストする方法。その理由、数分でのセットアップ手順、マネージドサービスにはないメリットを解説します。
NostrアイデンティティにオリジナルのドメインTを使うことは正当な選択です。マネージドサービスよりもセットアップに手間がかかりますが、識別子の永続的なコントロールを手に入れられます。このガイドでは、その価値があるケースとやり方を説明します。
TL;DR. ドメインを登録し、
https://yourdomain.com/.well-known/nostr.jsonにあなたのpubkeyを含むJSONファイルを置き、NostrプロフィールのNIP-05をyourname@yourdomain.comに設定します。セットアップ時間:約30分。年間コスト:ドメイン登録料のみ。クライアントの観点からはマネージドNIP-05サービスと完全に同一の動作をします。
準備ができたら、 @nostr.blog アドレスを取得
カスタムドメインが重要な理由
このパスを選ぶユーザーには3つの理由があります。
完全な所有権。 カスタムドメインは更新し続ける限りあなたのものです。NIP-05サービスを含む第三者に奪われることはありません。もしnostr.blogが明日廃業しても、alice@nostr.blog というアイデンティティは解決しなくなりますが、alice@alicedomain.com はドメインがあなたのものである限り影響を受けません。
ユニーク性。 alice@nostr.blog は「nostr.blogサービス上のAlice」を示します。alice@alicedomain.com は「AliceのオリジナルのスペースにいるAlice」を示します。公人、クリエイター、個人ブランドを築いている人にとって、セルフホストの識別子はブランド力が高まります。
コントロール。 ドメインのポリシーは自分で決められます。別途登録不要で複数の名前(alice@alicedomain.com、alice-work@alicedomain.com)を持てます。サービスを介さずにバッキングpubkeyを変更できます。
カスタムドメインが割に合わないケース
正直なカウンターリストです。
Nostr初心者の場合。 初めてのユーザーはマネージドサービスを使ってすぐに始めましょう。必要なら後でカスタムに切り替えられます。
ウェブサーバーの操作に慣れていない場合。 セットアップにはサーバー設定の編集が必要です。難しくはありませんが、初心者向けではありません。
ドメインを更新しない場合。 失効したドメインはNIP-05を失います。ドメインを何年も維持する自信がなければ、マネージドサービスの方が信頼性が高いです。
ドメインが別の用途でブランド化されている場合。 すでにジュエリービジネス用に alicejewelry.com を所有している場合、そこでNIP-05を運営するとNostrアイデンティティがそのビジネスに紐付きます。望ましいこともあれば、そうでないこともあります。
前提条件
必要なものは3つです。
- 管理しているドメイン。 Namecheap、Cloudflare、または同様のレジストラで登録。ほとんどのTLDで年間$10〜15。
/.well-known/nostr.jsonに静的ファイルをホストできる手段。 最もコストのかからない選択肢:GitHub Pages、Cloudflare Pages、Netlify、CaddyのあるVPS、または既存のウェブホスティング。- Nostr公開鍵のhex形式。 64文字、小文字の
a-fと0-9。クライアントのアカウント設定に表示されます。
セットアップ:最速ルート(Cloudflare Pages)
すでにDNSにCloudflareを使っている場合、これが最速です。
- 新しい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リポジトリを作成します。カスタムドメイン(yourdomain.com)でGitHub Pagesを有効にします。
- リポジトリに
.well-known/nostr.jsonを追加し、名前とpubkeyのマッピングを記述します。 - プッシュします。
- GitHubのドキュメントに従って、ドメインのDNSをGitHub Pagesに向けます。
注意点:GitHub Pagesではカスタムレスポンスヘッダーを設定できません。CORSへの対処として、Cloudflareを経由してプロキシするか、Cloudflare WorkerでヘッダーをT追加するか、一部のブラウザベースのクライアントで認証が失敗することを許容する必要があります。
デスクトップ専用の使用であれば、CORSなしのGitHub Pagesで動作します。完全なサポートを求める場合、GitHub PagesをCloudflareで前段に置くのが一般的な回避策です。
1つのドメインで複数のアイデンティティ
カスタムドメインは複数の名前をホストできます。nostr.json の例:
{
"names": {
"alice": "pubkey-1...",
"alice-work": "pubkey-2...",
"the-journalist": "pubkey-3..."
}
}
各名前は異なるpubkeyに解決されます。自分の複数のアイデンティティ、家族のメンバー、または運営する小さなコミュニティに使えます。
ほとんどのユーザーはエントリが1つだけですが、必要であれば使えます。
後からpubkeyを更新する
Nostr秘密鍵をローテーション(漏洩やその他の理由で)した場合、JSONファイルを更新して名前を新しいpubkeyに向けます。
手順:
- 新しいキーペアを生成します。
/.well-known/nostr.jsonを更新して新しいhex 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)は影響を受けません。
復旧:ドメインを更新すれば認証が再び機能します。失効中に他の誰かがドメインを購入した場合、あなたの名前を含むドメイン上の任意の名前を主張できます。実際には個人ドメインでこれが起きることはまれですが、価値の高いドメインでは起こり得ます。
対策:ドメインを自動更新に設定し、バックアップの支払い方法を用意し、有効期限の警告を監視してください。
コスト比較
5年間で:
- カスタムドメイン: $50〜75(5年分のドメイン更新 × $10〜15)
- nostr.blog 5文字以内の短い名前: $145(5年 × $29)
- nostr.blog 8文字以上の名前: $14.95(5年 × $2.99)
- nostr.blog 1文字のプレミアム名前: $4,995(5年 × $999)
長い名前であればnostr.blogの方が安上がりです。短いプレミアム名前であればカスタムドメインの方がはるかに安くなります。他の目的でいずれにせよ購入するドメインがあれば、カスタムは実質的に無料です。
カスタムドメインが正解となるケース
カスタムドメインが明らかに適したユーザーの具体的なプロフィール:
- 別の目的ですでに個人ドメインを所有している
- 会社や組織を運営していて、NIP-05として
you@company.comを使いたい - 短いプレミアム名前が欲しいがマネージドサービスが高額な場合
- あらゆる第三者サービスからの長期的な独立を重視する
- 複数のNostrアイデンティティを運営し、すべてを同じドメインに置きたい
それ以外のユーザーには、nostr.blogのようなマネージドサービスがより簡単なデフォルト選択です。マネージドからカスタムへの切り替えはいつでも可能です。唯一のコストは識別子が変わる短い期間だけです。
よくある質問
カスタムドメインはnostr.blogのNIP-05より優れていますか?
カスタムNostrドメインにかかる費用はいくらですか?
NIP-05にサブドメインは使えますか?
NIP-05のセルフホストにはどのウェブホストが使えますか?
NIP-05を自分でホストするとzapに影響しますか?
関連記事
NIP-05とは?Nostrアドレスの説明
NIP-05はNostr上で使用するメールアドレス形式の識別子です:alice@nostr.blog。実際に何ができるのか、何ができないのか、そして取得方法について説明します。
約14分で読めますアイデンティティとNIP-052026年にNostrアドレス(NIP-05)を取得する方法
読みやすいNostr識別子を取得するためのステップバイステップガイド。最速のマネージドオプション、完全なセルフホスト設定、コスト、検証方法。
約13分で読めますアイデンティティとNIP-05なぜあなたのNostr識別情報はポータブルなのか(そしてそれが重要である理由)
集中型プラットフォームとは異なり、あなたのNostr識別情報はクライアント、リレー、サービス全体で移動します。実際のところ、ポータビリティとは何を意味するのか。
約14分で読めますアイデンティティとNIP-05プレミアムNostrアドレス:短く、覚えやすく、あなただけのもの
1文字・2文字のNostr識別子は実在します。価格が高い理由があり、所有することはアイデンティティの主張です。プレミアム名の費用について。
約13分で読めます