Pages プロジェクトをデプロイするとき、カスタムドメイン(またはサブドメイン)をサイトに向けたい場合があります。
カスタムドメインを追加するには、次の手順を行います。
-
Cloudflare ダッシュボードで Workers & Pages ページを開きます。
Workers & Pages を開く ↗ -
Pages プロジェクトを選び、Custom domains を開きます。
-
Set up a domain を選びます。
-
Cloudflare Pages サイトを配信したいドメインを入力し、Continue を選びます。
apex ドメイン(例: example.com)へデプロイする場合は、サイトを Cloudflare ゾーンとして追加し、ネームサーバーを設定 する必要があります。
Pages プロジェクトでカスタム apex ドメイン(例: example.com)を使うには、ネームサーバーが Cloudflare のネームサーバーを指すように設定 します。ネームサーバーが Cloudflare を正しく指していると、Cloudflare が CNAME レコードを作成します。
サブドメインへデプロイする場合、サイトが Cloudflare ゾーンである必要はありません。カスタム CNAME レコードを追加 して、ドメインを Cloudflare Pages サイトへ向けます。Pages プロジェクトをカスタム apex ドメインへデプロイするには、そのカスタムドメインが、Pages プロジェクトを作成した Cloudflare アカウント上のゾーンである必要があります。
ネームサーバーを Cloudflare に向けたくない場合は、Cloudflare Pages でサブドメインを使うために、カスタム CNAME レコードを作成する必要があります。DNS プロバイダーにログインしたあと、使いたいサブドメイン(例: shop.example.com)の CNAME レコードを追加します。このレコードは、Pages のカスタムサブドメイン(例: <YOUR_SITE>.pages.dev)を指すようにします。
| Type | Name | Content |
|---|---|---|
CNAME |
shop.example.com |
<YOUR_SITE>.pages.dev |
サイトがすでに Cloudflare ゾーンとして管理されている場合は、DNS レコードを確認したあと、CNAME レコードが自動で追加されます。
Pages プロジェクトからカスタムドメインを切り離すには、ゾーンの DNS レコードを変更します。
-
Cloudflare ダッシュボードで、対象サイトの DNS Records ページを開きます。
Records を開く ↗ -
Pages プロジェクトの CNAME レコードを探します。
-
Edit を選びます。
-
Delete を選びます。
-
Cloudflare ダッシュボードで Workers & Pages ページを開きます。
Workers & Pages を開く ↗ -
Pages プロジェクトを選びます。
-
Custom domains を開きます。
-
カスタムドメインの横にある three dot icon > Remove domain を選びます。
手順が完了すると、Pages プロジェクトには、作成時に選んだ *.pages.dev サブドメインからのみアクセスできます。
プロジェクトに割り当てられた *.pages.dev サブドメインへのアクセスを無効にするには、次の手順を実行します。
-
プレビュー(
*.{project}.pages.dev)に Cloudflare Access を使います。プレビューデプロイへのアクセスをカスタマイズする を参照してください。 -
本番の Pages プロジェクトに紐づく
*.pages.devURL をカスタムドメインへリダイレクトします。アカウントレベルの Bulk Redirect 機能で、*.pages.devURL をカスタムドメインへリダイレクトできます。
キャッシュのガイドラインは、キャッシュとパフォーマンス を参照してください。
Certification Authority Authorization(CAA)レコードを使うと、証明書の発行を特定の認証局(CA)に制限できます。
Pages プロジェクトに カスタムドメイン を追加するとき、Cloudflare による証明書発行を許可していない CAA レコードがあると、問題になることがあります。
解消するには、Cloudflare がカスタムドメインの証明書を発行できるように、必要な CAA レコードを追加します。
example.com. 300 IN CAA 0 issue "letsencrypt.org"
example.com. 300 IN CAA 0 issue "pki.goog; cansignhttpexchanges=yes"
example.com. 300 IN CAA 0 issue "ssl.com"
example.com. 300 IN CAA 0 issuewild "letsencrypt.org"
example.com. 300 IN CAA 0 issuewild "pki.goog; cansignhttpexchanges=yes"
example.com. 300 IN CAA 0 issuewild "ssl.com"詳細は Certification Authority Authorization(CAA)FAQ を参照してください。
カスタムドメインを設定したあと、DNS エントリを別の宛先(例: オリジン)へ向けると、カスタムドメインは非アクティブになります。その後 DNS エントリを再びカスタムドメインへ戻すと、有効になるまでのあいだ、その DNS エントリでサイトを訪れる利用者にエラーが出ます。一時的に Pages プロジェクトからトラフィックを外したい場合は、DNS エントリを変更するのではなく、Origin rule または リダイレクトルール を使う方が適切です。
- Pages のデバッグ - Pages プロジェクトをデプロイするときのよくあるエラーを確認します。