他レジストラで管理しているドメインを Cloudflare Workers で使う際の設定は、思ったよりも分かりづらかったので、ここに正しい手順を共有します。
ネームサーバの切り替え
- Cloudflare ダッシュボード右上の「+追加」→「ドメインを接続する」を選択
- 「ドメインを接続する」画面で、既存のドメイン名(例:example.com)を入力 → 続行
- 「アクティベーションに進む」を押下
- ネームサーバー(xxxx.ns.cloudflare.com )2つメモ
- 他レジストラで上のネームサーバー2つ変更
- Cloudflare の TOP に戻り、該当ドメインをクリック → ステータスが「アクティブ」になっていることを確認
- Workers & Pages > プロジェクト > 設定 > ドメイン追加 > カスタムドメイン
- DNS に A レコードが既にあるとエラーが出るので、Aレコードを削除すればよい
数分〜数時間で Cloudflare がネームサーバー変更を検知し、ドメインは「アクティブ」になります
Cloudflare Workers 側の設定
- Cloudflare ダッシュボードの Workers > 設定 > 「ドメイン追加」をクリック
- 「カスタムドメイン」に使いたいドメイン名 (例:
example.com
) を入力 - DNS レコードに A や CNAME が残っていると、以下のようなエラーが出ることがあります
Hostname 'example.com' already has externally managed DNS records (A, CNAME, etc). Either delete them, try a different hostname, or use the option 'override_existing_dns_record' to override.
このエラーが出たら、DNSレコードのAを削除
タイプ | 名前 | コンテンツ | 削除対象 |
---|---|---|---|
A | example.com | xxx.90.238.16 | 削除 |
A | www | xxx.90.238.16 | (必要なら)削除 |
メールが受信できなくなったら
Xserverのサーバーパネル左側「サーバー情報」→「ホスト名」に表示される sv○○○.xserver.jp を使う
Claudflare で、MXレコードを svxxxx.xserver.jp で登録します。
これで、Cloudflare Workers 上でカスタムドメインを HTTPS つきで利用できるようになります
削除後は再度 Workers 側で「カスタムドメイン追加」を押せば、HTTPS 証明書が自動発行され、数分内に接続可能になります。