ガイド

アプリやウェブサイトにカスタムドメインを接続する方法

カスタムドメインを接続するには、まずレジストラからドメインを購入し、ホストを指すDNSレコードを追加します。通常は、wwwやappなどのサブドメインにはCNAMEレコードを、ルートドメインにはAレコード(またはALIAS/フラット化レコード)を追加します。その後、ホストがドメインを確認し、HTTPS証明書を発行します。数分から、場合によってはそれ以上かかります。問題の多くは、レコードのタイプミス、間違ったレコードの種類、またはホストの前に置かれたプロキシが原因です。

このガイドでは、各手順、wwwとルートドメインのどちらを選ぶかの判断、そしてトラブルシューティングの方法を扱います。ドメインの基本概念については、ドメインとDNSの仕組みを参照してください。

関係する要素

要素内容提供元
ドメイン名年単位で借りる名前(例:example.com)レジストラ
DNS名前をサーバーのアドレスに変換する公開の検索の仕組みDNSプロバイダー(多くはレジストラと同じ)
レコード「wwwはこちらを指す」といった個々のDNSエントリご自身が追加する
ホストアプリを動かすサービスホスティングサービスまたはアプリビルダー
証明書https://を機能させるもの通常はホストが自動で発行する

レジストラとDNSプロバイダーは同じ会社であることが多いですが、同じである必要はありません。重要なのは、このドメインのDNSをどこで編集するかです。レコードはそこで追加します。

手順1:ドメインを購入する

ドメインを選び、購入する際のヒントは次のとおりです。

  • 短く、声に出して綴りやすい名前にする。 綴りを説明しなければならないなら、別の名前を選びましょう。
  • 人がまず思い浮かべるのは.comですが、対象の読者に合うなら、国別や新しい末尾(.io、.app、.co.jpなど)も問題ありません。
  • 初年度の価格だけでなく、更新料を確認する。 初年度の割引はよくあり、更新時には価格が上がることがあります。
  • 自動更新をオンにし、支払いカードを最新に保つ。 期限切れのドメインは、サイトとメールを止めてしまい、猶予期間の後には他人に取得されることもあります。
  • 提供されていれば、WHOISプライバシーを使う。 個人情報が公開されなくなります。
  • フリーランサーや代理店ではなく、ご自身が管理できるアカウントで購入する。

ホストやアプリビルダーの中には、製品の中で直接ドメインを購入できるものもあり、その場合はDNSも自動で設定されます。

手順2:アドレスを決める

サブドメインかルートドメインか

  • ルート(アペックス)ドメイン: example.com
  • サブドメイン: www.example.com、app.example.com

よくある構成は、マーケティングサイトをexample.comまたはwww.example.comに、プロダクトをapp.example.comに置くものです。1つのサイトだけの場合は、wwwとルートのどちらかを選んでください。

www.example.comexample.com
レコードの種類ホストへのCNAMEAやAAAAレコード、またはALIAS/ANAME/フラット化されたCNAME
設定の難しさどこでも簡単DNSプロバイダーによる
見た目やや長い短い

DNSの標準では、ドメインのルートにCNAMEレコードを置くことはできません。ルートには、ネームサーバーのレコードなど他の必須のレコードが存在するからです。多くのDNSプロバイダーは、ALIAS、ANAME、CNAMEフラット化(プロバイダーによって呼び方が異なります)という特別なレコードの種類で回避策を提供しており、ルートでCNAMEのように動作します。ご利用のDNSプロバイダーにない場合、確実な方法は、サイトをwwwで配信し、DNSプロバイダーまたはレジストラでルートからwwwへのリダイレクトを設定することです。

どちらを選ぶ場合でも、正式なアドレスは1つだけにし、もう一方はそちらにリダイレクトしてください。両方が同じ内容をリダイレクトなしで配信すると、ユーザーにも検索エンジンにも混乱を招きます。単一の正規アドレスがなぜ重要かについては、AIで作ったウェブサイトのSEOを参照してください。

手順3:DNSレコードを追加する

ホストが、追加すべき内容を正確に教えてくれます。次のような形になります。

種類名前/ホスト値/ターゲット用途
CNAMEwwwyoursite.hostname.comサブドメインをホスト名に向ける
A@192.0.2.10ルートをIPv4アドレスに向ける
AAAA@2001:db8::10ルートをIPv6アドレスに向ける
TXT_verifyまたは@任意の文字列のコードドメインの所有を証明する

ほとんどのDNSプロバイダーのフォームへの入力方法は次のとおりです。

  • 名前/ホスト: サブドメインの部分だけを入力します。www.example.comではなくwwwです。プロバイダーによってはドメインを自動で付加するため、フルで入力するとwww.example.com.example.comができてしまいます。プロバイダーがその形式を使う場合は、ルートには@を使ってください。
  • 値/ターゲット: ホストが表示した内容をそのまま貼り付けます。プロバイダーが末尾のドットを付ける場合、それで問題ありません。
  • TTL: デフォルトのままで構いません。5分などの短いTTLにすると、今後の変更がより早く反映されます。
  • プロキシ: DNSプロバイダーがトラフィックをプロキシできる場合(例:Cloudflareのオレンジ色の雲)、ホストの指示に従ってください。多くのホストは、証明書を発行できるように「DNSのみ」を必要とします。

既存のレコードは、ホストから指示がない限りそのままにしてください。 特にMXレコードには触らないでください。そのレコードはメールを配送しています。削除したり変更したりすることが、ドメインの変更でメールが止まる最も多い原因です。

ネームサーバーの変更とレコードの追加

ホストによっては、レコードを追加する方法と、レジストラでネームサーバーを変更して、ドメインのDNS全体を移す方法の2つを提供しています。ネームサーバーを変更すると、メールを含むすべてのレコードが移動します。既存のレコードをすべて新しいプロバイダーで作り直す準備ができている場合にのみ行ってください。1つのレコードを追加するだけの方が、リスクは低いです。

手順4:確認してHTTPSを有効にする

レコードを追加したら、ホストに戻って確認ボタンを押します。ホストがDNSを確認し、通常は Let's Encrypt などの無料の認証局から証明書を取得して、HTTPSでサイトを配信し始めます。

  • DNSの変更が広がるまでに、確認が何回か必要になることがあります。
  • DNSレコードが残っている限り、証明書は自動で更新されます。
  • ドメインにCAAレコード(ドメインの証明書を発行できる認証局を制限する記録)がある場合、ホストの認証局を許可しているか確認してください。許可していなければ、証明書の発行に失敗します。

HTTPSが機能したら、http://がhttps://にリダイレクトされているか確認してください。多くのホストは自動でこれを行います。

手順5:テストする

  • https://www.example.comでサイトが読み込まれ、鍵のアイコンが表示される
  • もう一方の形式(ルートまたはwww)が、正式なアドレスにリダイレクトされる
  • http://がhttps://にリダイレクトされる
  • 新しいドメインで、ログイン、OAuthサインイン、決済のリダイレクトが動作する(これらは許可するURLのリストに古いアドレスが残っていることが多いです)
  • ドメイン宛てのメールが届く
  • アプリが送信するメールのリンクが新しいドメインを使っている

4番目の項目は見落とされがちです。Googleログイン、Stripeのwebhook、パスワードリセットのリンクは、いずれも特定のURLで設定されています。古いアドレスが使われている場所はすべて、新しいドメインを追加してください。OAuthの部分については、アプリにログインを追加する方法を参照してください。

トラブルシューティング

症状考えられる原因対処法
確認が何度も失敗する接続先のタイプミス、レコードの種類の誤り、またはドメイン全体を名前として入力したレコードをホストの表示と一文字ずつ照合する
ご自身の端末では動くが、他の人の端末では動かない(またはその逆)変更中のDNSキャッシュTTLが過ぎるまで待つ。モバイル回線のスマホでテストする
証明書または「保護されていない」エラー証明書がまだ発行されていない、前段にプロキシがある、またはCAAレコードがブロックしている数分待ってから再確認する。プロキシを「DNSのみ」にする。CAAを確認する
「リダイレクトが多すぎます」2つの層が両方リダイレクトしている(例:プロキシとホストがどちらもHTTPSを強制)どちらか一方のリダイレクトをオフにするか、「DNSのみ」にする
ルートドメインは動かないが、wwwは動くルートのレコードまたはリダイレクトがないALIAS/フラット化レコードを追加するか、ルートをwwwにリダイレクトする
メールが使えなくなったネームサーバーを移動した際にMXレコードが変更または消失したメールプロバイダーの指示に従ってMXレコードを復元する
古いサイトがまだ表示される同じ名前の古いAレコードが新しいものと一緒に残っている同じ名前で競合するレコードを削除する

無料のオンラインDNS検索ツール、またはターミナルでdig www.example.comを実行すると、現在世界に見えているレコードを確認できます。問題がDNSにあるのか、ホストにあるのかを切り分けるのに役立ちます。

Mythexでのカスタムドメインの接続

Mythexでは、カスタムドメインはProの機能です。無料プランではyourname.mythex.appのアドレスで公開されます。Proプランでは次のことができます。

  • Mythex内でドメインを購入する。 設定のドメインから、または公開済みプロジェクトの公開 → カスタムドメインから購入できます。Mythexがドメインを登録し、DNSを設定します。登録料はProプランとは別に請求され、自動更新はデフォルトでオンです。
  • お持ちのドメインを接続する。 プロジェクトを公開し、接続を選んでホスト名(例:app.example.com)を入力したら、DNSプロバイダーで、Mythexが表示したターゲット(yourslug.mythex.ai)を指すCNAMEを追加します。確認をクリックします。HTTPSは自動で発行されます。

DNSがCloudflareにある場合は、そのCNAMEをDNSのみ(グレーの雲)に設定し、プロキシを通さないでください。ルートドメインの場合、ドキュメントではwwwまたはappを使い、DNSプロバイダーがALIASやフラット化に対応していなければ、プロバイダーでルートをリダイレクトすることを推奨しています。

手順の詳細とトラブルシューティングについては、ドキュメントのカスタムドメインを、Proプランに含まれるものについてはプランを参照してください。アプリにドメインを向ける前に、AIのプロトタイプを本番環境に移すの手順も確認しておくとよいでしょう。

よくある質問

カスタムドメインが使えるようになるまでどのくらいかかりますか?

DNSレコードを追加してから数分で使えることが多いですが、DNSプロバイダーやレコードのTTL(リゾルバーがキャッシュする時間)によっては、もっと時間がかかることがあります。ネームサーバーを変更した場合は、さらに時間を見込んでください。

wwwとルートドメインのどちらを使うべきですか?

どちらでも訪問者はアクセスできます。wwwやappのようなサブドメインは、CNAMEレコードを使えるため、通常は接続が簡単です。wwwでサイトを配信し、ルートドメインをwwwにリダイレクトする、またはその逆にするサイトが多いです。どちらか一方を正式なアドレスとして選んでください。

SSL証明書を購入する必要がありますか?

通常は必要ありません。アプリビルダーを含む現代的なホストのほとんどは、DNSがそのホストを指すと、無料のHTTPS証明書を自動で発行します。組織の認証が必要な一部の特殊な証明書を除き、購入する必要はありません。

ルートドメインにCNAMEレコードを追加できないのはなぜですか?

ドメインのルート(アペックス)には、他の必須のレコードが存在するため、DNSの規則上CNAMEを設定できません。一部のDNSプロバイダーは、ALIAS、ANAME、CNAMEフラット化といった機能で同じ効果を提供しています。それがない場合は、wwwを使い、ルートドメインをリダイレクトしてください。

Mythex · Pricing · AIでなんでも作ろう · ウェブサイト・アプリのテンプレート · Mythexを比較 · AIアプリ開発用語集 · AIアプリ開発の無料ツール · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)