• #cloudflare
  • #deployment
  • #domain
  • #dns
未分類

Cloudflare Pagesにカスタムドメインを設定する手順

Cloudflare Pagesでは、デフォルトで*.pages.devのURLが割り当てられますが、独自ドメインまたはサブドメインに切り替えることができます。

前提条件

  • Cloudflare Pagesにプロジェクトがデプロイ済みであること
  • 独自ドメインを所有していること
  • (推奨)ドメインのDNSをCloudflareで管理していること

手順1: Cloudflare Pagesダッシュボードにアクセス

  1. Cloudflare Dashboardにログイン
  2. 左サイドバーから「Workers & Pages」を選択
  3. 対象のPagesプロジェクトを選択

手順2: カスタムドメインを追加

  1. プロジェクトの詳細ページで「Custom domains」タブを選択
  2. 「Set up a custom domain」ボタンをクリック
  3. 使用したいドメインまたはサブドメインを入力
  • ルートドメインの場合: example.com
  • サブドメインの場合: blog.example.com または www.example.com
  1. 「Continue」をクリック alt textalt text

手順3: DNSレコードの設定

パターンA: ドメインがCloudflareで管理されている場合

Cloudflareが自動的にDNSレコードを設定します。

  1. 「Activate domain」ボタンをクリック
  2. DNSレコードが自動的に追加されます
  3. 数分でSSL証明書が発行され、ドメインが有効になります

パターンB: ドメインが他社で管理されている場合

手動でDNSレコードを設定する必要があります。

ルートドメイン(example.com)の場合

タイプ名前TTL
CNAME@your-project.pages.devAuto

または

タイプ名前TTL
A@Cloudflareが指定するIPアドレスAuto

サブドメイン(blog.example.com)の場合

タイプ名前TTL
CNAMEblogyour-project.pages.devAuto

注意: your-project.pages.dev の部分は、実際のプロジェクトのURLに置き換えてください。

手順4: SSL証明書の発行を待つ

  • DNSレコードの設定後、Cloudflareが自動的にSSL証明書を発行します
  • 通常は数分~15分程度で完了します
  • 証明書のステータスは「Custom domains」タブで確認できます

手順5: 動作確認

  1. ブラウザで設定したドメインにアクセス
  2. HTTPSで正しく表示されることを確認
  3. リダイレクトが正しく動作することを確認

複数のドメインを設定する場合

同じプロジェクトに複数のドメインを設定できます:

  1. www.example.comexample.com の両方を追加
  2. どちらか一方をプライマリドメインに設定
  3. もう一方は自動的にプライマリドメインにリダイレクトされます

トラブルシューティング

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

参考リンク