ホストされたDiscourseサイトをルートまたはアペックスドメイン(例: example.com)で実行するように設定する

:bookmark: このガイドでは、ホストされた Discourse サイトをルートドメインまたはアペックスドメイン(例: forum.example.com ではなく example.com)で実行するための設定方法を説明します。サイトのドメイン名を変更する一般的な手順については、ホストされた Discourse のドメイン名を設定するガイドで説明しています。

:person_raising_hand: 必要なユーザーレベル: 管理者

ほとんどのホストされた Discourse サイトは、forum.example.com、talk.example.com、または www.example.com などのサブドメインで動作します。これが推奨される設定であり、ほぼすべての場合で問題なく動作します。

サイトをルートドメインまたはアペックスドメイン(例: example.com)で動作させることは可能ですが、ルートドメインの DNS の仕組み上、ホスティング環境ではより複雑になります。このオプションは、Pro、Business、Enterprise プランで利用可能です。Free プランではカスタムドメインが利用できず、サイトは discourse.group アドレスのままになります。

サイトをルートドメインまたはアペックスドメインで動作させるには、以下の 2 つが必要です:

  1. DNS プロバイダーが、以下にリストされているレコードタイプのいずれかをサポートしている必要があります(ルートでは通常の CNAME レコードだけでは不十分です)。
  2. 最終的な設定は Discourse チームによって完了されます。管理ダッシュボードの Change Domain Name ボタンは CNAME レコードをチェックするため、アペックスドメインやルートドメインは処理できないからです。

DNS プロバイダーの設定

  1. DNS プロバイダーがルートドメインのレコードタイプをサポートしていることを確認してください。プロバイダーが以下にリストされていない場合、まずこれらのプロバイダーのいずれかに切り替える必要があります。
  2. 表内のリンクに従って詳細を確認し、プロバイダーごとに説明されているレコードを作成してください。
  3. DNS レコードが設定されたら、team@discourse.org に連絡して、ルートドメイン名の変更を完了してください。

ルートドメインまたはアペックスドメインをサポートする DNS プロバイダー

プロバイダー タイプ
AWS Route53 (AWS のみ[1]) A & AAAA ALIAS レコード; 例をクリック →
Cloudflare CNAME フラットニング。サイトへの干渉を防ぐため、Cloudflare プロキシをオフにしてください(クラウドアイコンが灰色である必要があります)
DNSimple ALIAS
DNS Made Easy ANAME
DreamHost ALIAS
easyDNS ANAME
Gandi ALIAS
Hurricane Electric ALIAS
Name.com ANAME
Namecheap ALIAS
PointDNS ALIAS
Webcentral (旧 Netregistry) Cloaked redirection (IPv4 のみ)

:exclamation: DNS プロバイダーが上記にリストされていない場合、続行する前にルートドメインまたはアペックスレコードタイプをサポートするプロバイダーに切り替えてください。通常の CNAME レコードはルートドメインでは動作しません。

:information_source: ここにリストされていない DNS プロバイダーをテストして、サイトが正常に動作する場合は、プロバイダー名と設定方法を説明するリンクをこのトピックに返信してください。リストを更新するために使用します。


  1. これは AWS でのセルフホスティングまたは当社の AWS Enterprise Hosting の場合のみ機能します ↩︎

「いいね!」 36

投稿が新しいトピックに分割されました: 必要なDNS設定

Azure で Apex ドメインを機能させる方法を理解するのに少し時間がかかりましたが、DNS をホストしている Azure で実現できました。

Azure を使用するには、Azure Front Door を活用する必要があります。これらの手順は、Azure Front Door Standard/Premium 用であり、Azure Front Door (classic) 用ではありません。

  1. Azure Front Door に移動し、+ 作成をクリックします。
  2. Azure Front Door を選択し、カスタム作成を選択して、Front Door の作成に進むをクリックします。
  3. サブスクリプション、リソース グループ、名前、およびレベル (Standard で機能しました) を選択し、次へ: シークレットをクリックします。
  4. SSL 証明書を自分で使用する場合は、ここで追加します。追加したら (または Azure に証明書を作成させる場合は)、次へ: エンドポイントをクリックします。
  5. エンドポイントの追加をクリックして名前を選択し、追加をクリックします。
  6. 新しい「ルート」セクションで、ルートの追加をクリックします。名前を付けます。
  7. 「オリジン グループ」で、新しいオリジン グループの追加をクリックします。名前を付けます。
  8. オリジンの追加をクリックします。名前を付けます。「オリジンの種類」で カスタム を選択します。「ホスト名」に site.hosted-by-discourse.com ドメインを入力します。「オリジン ホスト ヘッダー」が空白であることを確認します。追加をクリックします。
  9. 「オリジン グループの追加」ダイアログで追加をクリックします。
  10. 「ルートの追加」ダイアログで追加をクリックします。
  11. レビュー + 作成をクリックします。作成をクリックします。
  12. AFD がデプロイされるのを待ちます。デプロイされたら、リソースに移動をクリックします。
  13. 左側のメニューで ドメイン を選択します。ドメインの追加をクリックします。
  14. 「DNS ゾーン」で、ドメインが存在するゾーンを選択します。「カスタム ドメイン」の下で、APEX セクションでドメインを選択します。追加をクリックします。
  15. ドメインがリストに表示されたら、右側の … をクリックします。関連付ける を選択します。
  16. 前に作成したエンドポイントとルートを選択します。関連付ける をクリックします。

AFD マネージド証明書を使用する場合

  1. ドメインの「検証状態」が 保留中 の場合は、そのリンクをクリックします。「TTL 単位」で 分 を選択します (迅速な検証のため)。次に、「DNS レコードの状態」の下にある 追加 ボタンをクリックします。
  2. 忍耐強く待ってください。ここで髪の毛を抜くのに多くの時間を費やしましたが、待つ必要があります。最終的に「検証状態」は 承認済み に変わるはずです。
  3. TXT DNS レコードを再生成して更新する必要がある場合があります。これは、再生成 ボタンをクリックすることで実行できます。表示されたら、「DNS レコードの状態」の下にある 更新 ボタンをクリックする必要があります。
「いいね!」 1

これをフォローしている方への FYI: このセットアップは DNS のフラット化ではなく、Azure でオリジンをプロキシするロード バランサーを構成しています。

これは、副作用があるため (すべての訪問者が実際の IP ではなく Azure IP から来るため)、現状では公式にはサポートされていません。

「いいね!」 2