> ## Documentation Index
> Fetch the complete documentation index at: https://docs.replit.com/llms.txt
> Use this file to discover all available pages before exploring further.

# カスタムドメイン

> Replit発行済みアプリのカスタムドメインを購入、接続、管理する方法を説明します。

カスタムドメインを使用すると、`www.my-incredible-app.com`のような独自のドメイン名をReplit発行済みアプリに割り当てることができます。
Replitは`<your-live-app-subdomain-name>.replit.app`形式の無料サブドメインを提供していますが、
カスタムドメインを使用することで、訪問者からのブランド認知と信頼を築く、より記憶しやすいアドレスをアプリに与えることができます。

Publishingツールの**Domains**タブには、必要なものがすべて1か所にまとまっています。以下のことができます。

* Replitを通じて**新しいドメインを購入**し、1つの手順でプロジェクトに接続する。
* 他のレジストラで既に**所有しているドメインを接続**する。
* 接続済みのドメインを**管理**する — 各ドメインがどのプロジェクトを指しているかを確認したり、更新状況を確認したり、ドメインの接続を解除したりできます。

以下のビデオでカスタムドメインの設定の概要を確認できます：

<Frame>
  <iframe src="https://www.youtube.com/embed/rGYdyb58wJY" title="Custom Domains with Publishing" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen />
</Frame>

以下の表はReplitのサブドメインとカスタムドメインを比較しています：

| 機能                 | Replitサブドメイン | カスタムドメイン       |
| :----------------- | :----------- | :------------- |
| ホスト名のカスタマイズ        | サブドメインのみ     | 所有する任意のドメイン    |
| DNS更新時間            | 即時           | 最大48時間         |
| セキュリティ証明書（TLS/SSL） | Replitが提供    | Replitが提供      |
| 価格                 | 無料           | ドメインプロバイダーに支払い |

<Note>
  ドメインを接続する前に、アプリを発行してください。**Domains**タブは、アプリのデプロイが成功すると利用できるようになります。
</Note>

## Replitで新しいドメインを購入する

まだドメインを所有していない場合は、Replitを離れることなくドメインを検索して購入できます。新しいドメインは自動的にプロジェクトを指すようになります。

<Steps>
  <Step title="Domainsタブを開く">
    <img class="icon-svg" src="https://mintcdn.com/replit/rJldsgYVucXB_6kW/images/icons/deploy-icon.svg?fit=max&auto=format&n=rJldsgYVucXB_6kW&q=85&s=853c5ef39a8a7ac3648b3a2ce182fcb8" width="16" height="16" data-path="images/icons/deploy-icon.svg" /> **Publishing**ツールを開き、**Domains**タブを選択します。
  </Step>

  <Step title="ドメインを検索する">
    **Buy a new domain**を選択し、希望する名前を入力します。Replitは`.com`や`.ai`などの拡張子にわたって利用可能なオプションを表示します。何と名付けるか決まっていない場合でも、Replitがアプリの内容に基づいて利用可能な名前を提案するので、ゼロから考えなくても選ぶことができます。

    <Frame>
      <img src="https://mintcdn.com/replit/jSmYU1wBTvl8UMyc/images/deployments/custom-domains/buy-domain.png?fit=max&auto=format&n=jSmYU1wBTvl8UMyc&q=85&s=b9370b56ffc2f86fba93b05309ed25d8" alt="`.com`や`.ai`などの拡張子を含む利用可能なドメインを表示するドメイン検索インターフェース" width="2172" height="1222" data-path="images/deployments/custom-domains/buy-domain.png" />
    </Frame>
  </Step>

  <Step title="購入して接続する">
    希望するドメインを選択し、Replitアカウントの支払い方法を使用して購入を完了します。追加のDNS設定なしで、アプリは新しいドメインで即座にアクセス可能になります。
  </Step>
</Steps>

Replitを通じて購入したドメインには追加費用なしで[WHOISプライバシー保護](/ja/build/domain-purchasing)が含まれ、自動的に更新され、カスタムDNSレコード（例えば、メール用のMXレコード）を追加できます。ドメイン購入に関する完全なリファレンス（価格、更新、移管、カスタムDNSレコード）については、[ドメインの購入](/ja/build/domain-purchasing)を参照してください。

## 既に所有しているドメインを接続する

別のレジストラで既にドメインを所有している場合は、**Domains**タブからプロジェクトに接続できます。ReplitはDNSを自動的に設定するガイド付きセットアップを提供しており、うまくいかない場合は手動オプションも用意されています。

### 自動セットアップ（推奨）

既存のドメインを接続する最も簡単な方法は、Replitに設定を任せることです。Replitはサードパーティのドメイン接続サービスである[Entri](https://entri.com)を使用します。承認すると、EntriがDNSプロバイダーにサインインし、必要なDNSレコードを代わりに書き込むため、手動でコピーする必要はありません。

<Note>
  DNSレコードは、インターネットにドメインの向き先を伝える設定です。以前は手動設定がドメイン接続の最も難しい部分でした。Replitは現在、ほとんどのドメインとプロバイダーに対してこのステップを代わりに処理します。
</Note>

<Steps>
  <Step title="Domainsタブを開く">
    <img class="icon-svg" src="https://mintcdn.com/replit/rJldsgYVucXB_6kW/images/icons/deploy-icon.svg?fit=max&auto=format&n=rJldsgYVucXB_6kW&q=85&s=853c5ef39a8a7ac3648b3a2ce182fcb8" width="16" height="16" data-path="images/icons/deploy-icon.svg" /> **Publishing**ツールを開き、**Domains**タブを選択します。

    <Frame>
      <img src="https://mintcdn.com/replit/jSmYU1wBTvl8UMyc/images/deployments/custom-domains/01.png?fit=max&auto=format&n=jSmYU1wBTvl8UMyc&q=85&s=5dc58a0cab37877093e55c9a2b3b1367" alt="Domainsタブ" width="2422" height="1130" data-path="images/deployments/custom-domains/01.png" />
    </Frame>
  </Step>

  <Step title="接続したいドメインを入力する">
    **Connect your own domain**を選択し、`www.my-incredible-app.com`など既に所有しているドメインを入力します。
  </Step>

  <Step title="自動セットアップを承認する">
    接続を確認します。Replitがガイド付きフローを開き、DNSプロバイダーにサインインすることで、DNSレコードがアカウントに自動的に適用されます。ガイド付きフローがお使いのプロバイダーのレコードを書き込めない場合は、代わりに自分で追加するレコードが表示されます。
  </Step>

  <Step title="ドメインの確認を待つ">
    セットアップが完了すると、ドメインに**Verified**ステータスが表示されます。通常は数分で完了しますが、DNSの変更が伝播するまで最大48時間かかることがあります。ブラウザでドメインを読み込んで動作を確認してください。
  </Step>
</Steps>

<Tip>
  自動セットアップに対応していないプロバイダーの場合や、自分でレコードを追加したい場合は、手動でドメインを接続することもできます。下の[手動でドメインを接続する](#connect-a-domain-manually)を参照してください。
</Tip>

### 手動でドメインを接続する

自動セットアップに対応していないプロバイダーの場合や、自分でレコードを追加したい場合は、以下の手順に従ってカスタムドメインを手動で設定してください。

<Warning>
  以下のいずれかに該当する場合、設定上の問題が発生することがあります：

  * 異なるサーバーを指す、同じドメイン名に対する複数の`A`レコード。
  * ReplitはAレコードのみをサポートしているため、同じドメインに`A`レコードと`AAAA`レコードが共存している場合。
  * Cloudflareでプロキシされたドメインレコード。Replitはこのタイプのセキュリティ証明書を自動更新できないため、レコードを**DNS only**（灰色のクラウド）に設定してください。
  * `replit-verify` `TXT`レコードが見つからない、または削除されている場合。ReplitはSSL/TLS証明書を更新するために、このレコードを保持しておく必要があります。下の[TXTレコードを維持する](#keep-the-txt-record-in-place)を参照してください。
</Warning>

<Steps>
  <Step title="カスタムドメインを追加する">
    テキストフィールドにカスタムドメイン名を入力します。登録済みドメインまたはサブドメインを含めることができます。

    例えば、`hat-tip.cc`は登録済みドメインで、`my.hat-tip.cc`にはサブドメイン`my`が含まれます。

    <Frame>
      <img src="https://mintcdn.com/replit/jSmYU1wBTvl8UMyc/images/deployments/custom-domains/02.png?fit=max&auto=format&n=jSmYU1wBTvl8UMyc&q=85&s=38485a8680fe6ae256ec2d7b0665a784" alt="DNS設定のスクリーンショット" width="1940" height="718" data-path="images/deployments/custom-domains/02.png" />
    </Frame>
  </Step>

  <Step title="ドメインレジストラにDNSレコードを追加する">
    Replitが生成するDNSレコードを**ドメインレジストラ**に提供する必要があります。
    ドメインレジストラとは、GoDaddyやNamecheapなどのドメイン名を管理するサービスです。

    ReplitからAレコードとTXTレコードの値をコピーして、ドメインレジストラのDNS管理セクションに貼り付けます。ドメインレジストラがホスト名として`@`をサポートしていない場合は、登録済みドメイン名を使用してください。

    <Warning>
      **TXTレコードを維持してください。** ReplitはDNS検証を通じてカスタムドメインのSSL/TLS証明書を発行・更新します。`replit-verify=...` `TXT`レコードは、初期セットアップ時だけでなく、ドメインの全期間を通じてDNSに残しておく必要があります。確認後にレコードを削除または変更すると、次回の証明書更新が失敗し、最終的にドメインが期限切れの証明書を提供してブラウザからアプリにアクセスできなくなります。`TXT`レコードは`A`レコードと同様に永続的なものとして扱ってください。
    </Warning>
  </Step>

  <Step title="オプション：サブドメインを追加する">
    `www`を含むサブドメインは、apex（頂点）ドメインをリンクしても自動的に解決されません。提供したい各サブドメインは、**Domains**タブに独自のエントリとして追加し、レジストラで独自のDNSレコードを設定する必要があります。

    サブドメインを追加するには、apex ドメインをリンクしたのと同じ方法で**Domains**タブからリンクし、Replitが生成するDNSレコードをドメインレジストラに追加します。
    例えば、`my-subdomain.hat-tip.cc`を追加するには：

    * **Publishing**ツールで、**Domains**タブを選択して`my-subdomain.hat-tip.cc`をリンクします。
    * レジストラで、ホスト名`my-subdomain`のポイント先をReplitが新しいエントリに示すIPアドレスに設定した新しい`A`レコードを追加します。
    * レジストラで、ホスト名`my-subdomain`に対応する`replit-verify=...` `TXT`レコードを追加します。各サブドメインにはapexとは別の独自の`TXT`レコードがあります。

    <Note>
      **`www`はサブドメインです。** `hat-tip.cc`をリンクしても、`www.hat-tip.cc`は自動的に提供されません。訪問者が`hat-tip.cc`と`www.hat-tip.cc`の両方でアプリにアクセスできるようにするには、**Domains**タブに`www.hat-tip.cc`を別のエントリとして追加し、ホスト名`www`に生成された`A`および`TXT`レコードを公開してください。`www`アドレスを希望するほとんどのビルダーは、apexから`www`（またはその逆）へのリダイレクトもレジストラで設定します。
    </Note>

    apex ドメインと同様に、各サブドメインに追加する`replit-verify=...` `TXT`レコードはDNSに永続的に残しておく必要があります。下の[TXTレコードを維持する](#keep-the-txt-record-in-place)を参照してください。
  </Step>

  <Step title="DNSの伝播が完了するまで待つ">
    レコードを追加したら、オンラインへの伝播を待つ必要があります。
    これには数分から最大48時間かかることがあります。

    伝播が完了すると、以下に示すようにDomainsタブのドメイン名の横に「Verified」ステータスが表示されます：

    <Frame>
      <img src="https://mintcdn.com/replit/jSmYU1wBTvl8UMyc/images/deployments/custom-domains/domain-verified.png?fit=max&auto=format&n=jSmYU1wBTvl8UMyc&q=85&s=fe5c99d84ff0334119d2e94b2f07c99a" alt="確認済みドメインステータスのスクリーンショット" width="1866" height="890" data-path="images/deployments/custom-domains/domain-verified.png" />
    </Frame>

    ブラウザでドメインを読み込んで、正常に動作することを確認します。
  </Step>
</Steps>

## ドメインを管理する

**Domains**タブには、プロジェクトに接続されているすべてのドメインが一覧表示され、それぞれを管理できます。ドメインを選択して**Manage**を選ぶと、次のことができます。

* **ドメインがどのプロジェクトを指しているかを確認する。** 既に別のプロジェクトにリンクされているドメインを接続しようとすると、Replitが警告を表示し、現在のプロジェクトに移動することができます。
* **更新状況を確認する（Replitで購入したドメインの場合）。** 管理画面には更新日と更新価格が表示され、ドメインを自動的に更新したくない場合は**Auto renewal**をオフにできます。
* **DNSレコードを編集する（Replitで購入したドメインの場合）。** カスタムの`A`、`TXT`、`MX`レコードを追加できます — 例えば、メールにドメインを使用するためのMXレコードなどです。[カスタムDNSレコード](/ja/build/domain-purchasing#custom-dns-records)を参照してください。
* **ドメインの接続を解除する。** 接続を解除すると、そのドメインでのアプリの提供が停止します。ドメイン自体は削除されず、別のプロジェクトにリンクするために利用可能な状態のままです。

<Frame>
  <img src="https://mintcdn.com/replit/jSmYU1wBTvl8UMyc/images/deployments/custom-domains/replit-domains.png?fit=max&auto=format&n=jSmYU1wBTvl8UMyc&q=85&s=af1ea8f250c6ab83ff016fc2fe075851" alt="接続されたドメインとその接続状況を表示するドメイン管理インターフェース" width="3176" height="1556" data-path="images/deployments/custom-domains/replit-domains.png" />
</Frame>

## トラブルシューティング

### ドメインのリンクが失敗した、または確認保留のまま動かない

接続が失敗する、またはドメインが**Verifying**のままになる場合は、以下を確認してください。

1. **DNSが伝播する時間を確保する。** 確認には数分から最大48時間かかることがあります。他の変更を行う前に、DNSルックアップツールを使用してレコードが世界中に反映されていることを確認してください。
2. **競合するレコードを削除する。** ルートドメインを指す`A`レコードは1つだけにし、同じホスト名にある`AAAA`（IPv6）レコードは削除してください — SSLをブロックする可能性があります。
3. **Cloudflareのプロキシをオフにする。** `A`レコードを**DNS only**（灰色のクラウド）に設定してください。プロキシモード（オレンジ色のクラウド）はSSLのプロビジョニングを妨げます。
4. **`TXT`レコードが存在することを確認する。** `replit-verify=...` `TXT`レコードが見つからない、または変更されている場合、確認と証明書の更新がブロックされます。[TXTレコードを維持する](#keep-the-txt-record-in-place)を参照してください。
5. **ドメインの接続を解除して再接続する。** **Domains**タブから行うと新しい証明書が強制的に発行されます。数分待ってから再読み込みしてください。

Replitでドメインを購入していて、それでも確認できない場合は、[Replitサポートに連絡してください](https://replit.com/support)。

### DNSの変更がまだ反映されていない

DNSの変更は即時には反映されません。レコードを追加または変更した後、世界中に伝播するまで数分から48時間程度かかると想定してください。この間もアプリは`replit.app`サブドメインで引き続き動作します。48時間経っても**Verified**ステータスが表示されない場合は、Replitが表示している内容とレコードを再確認してください — よくある間違いは末尾のドット、余分なサブドメイン、古いレコードなどです。

### `CNAME`レコードと認証

カスタムドメインでのサインインや認証を機能させるために`CNAME`レコードは必要ありません。ドメインが確認されると、発行済みドメイン全体でサインインが自動的に機能します。

カスタムドメインの`CNAME`レコードが必要になるのは、**メール送信**の場合のみです — 例えば、ドメインから確認メールやトランザクションメールを送信できるようにするためです。Publishingツールが`CNAME`レコードの追加を求める警告を表示する場合、それはログインではなくメール配信に関するものです。レコードの追加が必要になるのは、ドメインからメールを送信する場合のみで、ドメインの確認、SSL、サインインをブロックすることはありません。メール関連の設定手順については、[Clerk認証](/ja/features/auth-and-identity/clerk-auth)を参照してください。

### TXTレコードを維持する

ReplitはDNS検証を通じて各カスタムドメインのSSL/TLS証明書を発行・更新します。この検証は、セットアップ時に追加した`replit-verify=...` `TXT`レコードに依存しています。`TXT`レコードは一時的なセットアップの成果物ではなく、ドメインの全期間を通じてDNSに残しておく必要があります。ドメインが確認された後にレコードが削除、編集、または置き換えられた場合、次回の更新は静かに失敗し、既存の証明書は最終的に期限切れになります。訪問者はブラウザのセキュリティ警告を見ることになり、アプリにアクセスできなくなります。

アカウントの古いドメインが突然証明書エラーを表示し、新しいドメインは正常に動作する場合、`TXT`レコードが見つからないか変更されていることが最も可能性の高い原因です。

影響を受けたドメインを復元するには：

1. **Publishing**ツールを開き、**Domains**タブを選択します。
2. Replitがそのドメインに表示する`replit-verify=...` `TXT`レコードを確認します。
3. ホスト名と値を含め、表示された通りに`TXT`レコードをドメインレジストラに追加し直します。
4. Replitでドメインを削除して再度追加し、新規発行をトリガーします。
5. DNSの伝播を待ち、**Domains**タブの**Verified**ステータスを再確認します。
