未分類
Cloudflare Pagesにカスタムドメインを設定する手順
Cloudflare Pagesでは、デフォルトで*.pages.devのURLが割り当てられますが、独自ドメインまたはサブドメインに切り替えることができます。
前提条件
- Cloudflare Pagesにプロジェクトがデプロイ済みであること
- 独自ドメインを所有していること
- (推奨)ドメインのDNSをCloudflareで管理していること
手順1: Cloudflare Pagesダッシュボードにアクセス
- Cloudflare Dashboardにログイン
- 左サイドバーから「Workers & Pages」を選択
- 対象のPagesプロジェクトを選択
手順2: カスタムドメインを追加
- プロジェクトの詳細ページで「Custom domains」タブを選択
- 「Set up a custom domain」ボタンをクリック
- 使用したいドメインまたはサブドメインを入力
- ルートドメインの場合:
example.com - サブドメインの場合:
blog.example.comまたはwww.example.com
- 「Continue」をクリック


手順3: DNSレコードの設定
パターンA: ドメインがCloudflareで管理されている場合
Cloudflareが自動的にDNSレコードを設定します。
- 「Activate domain」ボタンをクリック
- DNSレコードが自動的に追加されます
- 数分でSSL証明書が発行され、ドメインが有効になります
パターンB: ドメインが他社で管理されている場合
手動でDNSレコードを設定する必要があります。
ルートドメイン(example.com)の場合
| タイプ | 名前 | 値 | TTL |
|---|---|---|---|
| CNAME | @ | your-project.pages.dev | Auto |
または
| タイプ | 名前 | 値 | TTL |
|---|---|---|---|
| A | @ | Cloudflareが指定するIPアドレス | Auto |
サブドメイン(blog.example.com)の場合
| タイプ | 名前 | 値 | TTL |
|---|---|---|---|
| CNAME | blog | your-project.pages.dev | Auto |
注意: your-project.pages.dev の部分は、実際のプロジェクトのURLに置き換えてください。
手順4: SSL証明書の発行を待つ
- DNSレコードの設定後、Cloudflareが自動的にSSL証明書を発行します
- 通常は数分~15分程度で完了します
- 証明書のステータスは「Custom domains」タブで確認できます
手順5: 動作確認
- ブラウザで設定したドメインにアクセス
- HTTPSで正しく表示されることを確認
- リダイレクトが正しく動作することを確認
複数のドメインを設定する場合
同じプロジェクトに複数のドメインを設定できます:
www.example.comとexample.comの両方を追加- どちらか一方をプライマリドメインに設定
- もう一方は自動的にプライマリドメインにリダイレクトされます
トラブルシューティング
DNS_PROBE_FINISHED_NXDOMAINエラー
- DNSレコードの伝播に時間がかかっている可能性があります(最大48時間)
- DNSレコードの設定が正しいか確認してください
nslookup your-domain.comコマンドでDNSの状態を確認できます
SSL証明書が発行されない
- DNSレコードが正しく設定されているか確認
- プロキシステータスが「Proxied(オレンジ色の雲)」になっているか確認(Cloudflare管理の場合)
- 24時間待っても発行されない場合は、一度ドメインを削除して再設定してみる
カスタムドメインが追加できない
- ドメインが他のCloudflare PagesまたはWorkersプロジェクトで使用されていないか確認
- ドメインの所有権を確認できるか確認(メールまたはDNS認証)
Wranglerを使用したカスタムドメイン設定
コマンドラインから設定することも可能です:
# カスタムドメインを追加
wrangler pages domain add <PROJECT_NAME> <DOMAIN>
# カスタムドメイン一覧を表示
wrangler pages domain list <PROJECT_NAME>
# カスタムドメインを削除
wrangler pages domain remove <PROJECT_NAME> <DOMAIN>
例:
wrangler pages domain add my-nuxt-app example.com
wrangler pages domain add my-nuxt-app www.example.com