Custom Domains
DNS検証のトラブルシューティング
カスタムドメインが「保留中」のまま動かないときの対処法 — よくあるDNS設定ミスのチェックリスト。
Updated 2026-05-15
カスタムドメインを追加すると、ElidoはDNSを30秒ごとにポーリングして、作成を依頼したレコードを確認します。通常、検証は60秒以内に完了します。それ以上かかる場合、このチェックリストがほぼすべての原因を網羅しています。
ネットワーク外からレコードの存在を確認する#
最初の確認は、レコードがレジストラだけでなく公開の場所から見えているかどうかです。
dig links.acme.com CNAME +short
# 期待値: <something>.elido.me.
apexドメインの場合:
dig acme.link A +short
# 期待値: 2つのAレコード(Hetzner FRA + OVH FRA)
dig acme.link AAAA +short
# 期待値: いずれかのPoP のIPv6アドレス
digが何も返さない場合、レジストラがまだ伝播していないか、より多くの場合、レコードがタイプミスで保存されています。
よくあるタイプミスのパターン#
設定 → ドメイン → [ドメイン] → DNSレコード でElidoが表示した正確な値とレコードの値を比較してください。最もよくあるミス:
- 末尾のドット。 レジストラによっては
<target>.elido.me.(末尾のドットあり)を必要とし、自動で付加するものもあります。自動付加するレジストラに<target>.elido.me.を貼り付けると<target>.elido.me..となり無効です。末尾のドットなしで試してください。 - Nameフィールドへのホスト名ではなくFQDNの入力。
links.acme.comの場合、レジストラによってはNameフィールドにlinks.acme.comではなくlinksのみを要求します。FQDNを入力した場合、実際にはlinks.acme.com.acme.comというレコードが作成されています。 - レコードタイプの誤り。 サブドメインにはCNAMEが必要です。apexにはA(またはALIAS)が必要です。レジストラがapex CNAMEフラット化をサポートしていない場合は、Aレコードに切り替えてください — DNS設定パネルで両方のオプションを提供しています。
Apex(ゾーンルート)ドメイン#
apexでのCNAMEはDNS仕様で禁止されています。links.acme.comではなくacme.linkを使おうとしている場合、3つの選択肢があります:
- 当社が提供する2つのAレコードを使用する。どこでも機能します。
- レジストラがサポートしている場合はALIAS / ANAMEを使用する(Cloudflare、DNSimple、easyDNS)。自動的に正しいAレコードにフラット化されます。
- 代わりにサブドメインを選ぶ。
go.acme.comやlinks.acme.linkはapexよりも簡単でCDNとの相性も良いです。
Cloudflareプロキシ(オレンジ色の雲)#
ドメインがCloudflareのプロキシ(オレンジ色の雲がオン)の背後にある場合、DNS検証は機能しますがTLSのプロビジョニングは失敗します。CloudflareがTLSを自分で終端するため、当社のCaddyは訪問者を見ることができず、証明書を発行できません。
オレンジ色の雲をオフ(DNSのみ / グレーの雲)にしてください。CloudflareはDNSの権威サーバーとしてのみ機能し、プロキシは当社が処理します。
本当にCloudflareのDDoS保護を前面に必要とする場合は、CloudflareのOrigin CA証明書を使用し、設定 → ドメイン → [ドメイン] → カスタム証明書 からElidoにアップロードしてください。
CAAレコード#
ドメインにCAAレコードがある場合、Let's Encryptを許可している必要があります:
dig acme.link CAA +short
# 結果に行が含まれる場合、letsencrypt.org がそのうちの1つでなければなりません
出力に 0 issue "letsencrypt.org" が含まれていれば問題ありません。他のCAのみのCAAレコードが確認できる場合は、Let's Encrypt用に1つ追加してください:
acme.link. CAA 0 issue "letsencrypt.org"
DNSSECの不一致#
レジストラでDNSSECが有効になっているがDSレコードが正しく公開されていない場合、パブリックリゾルバはレコードの代わりにSERVFAILを返します。以下を実行してください:
dig +trace links.acme.com
トレースがSERVFAILで終わる場合は、続行する前にレジストラでDNSSECを修正してください — 通常はDNSSECを無効化し、1時間待ってから正しいDSレコードで再度有効化することで解決します。
検証ポーリングの間隔#
ドメインを追加してから最初の1時間は30秒ごと、次の24時間は5分ごと、その後は1時間ごとにDNSをポーリングします。今すぐ検証をいつでもクリックすると、即座に確認を強制できます。
24時間経ってもドメインが保留中のままで、ネットワーク外からのdigが正しいレコードを示している場合は、今すぐ検証を一度クリックしてください — 伝播初期のキャッシュされた否定的な結果が残ることがあります。
「検証済みだがTLSなし」の状態#
DNSは検証されているにもかかわらずドメインに「TLS保留中」が10分以上表示される場合、CaddyがLet's Encryptで問題を抱えています。原因:
- CAAレコード(上記参照)。
- Let's Encryptのレート制限(1週間に登録ドメインあたり50証明書)。これは大量ロールアウト時のみ発生します。
- 上流のファイアウォールによってTLS-ALPNチャレンジがブロックされている。ポート443をイングレスIP(トラストページに掲載)に開放してください。
トラブルシューティング#
ラップトップからは検証できるがダッシュボードからはできない。 ラップトップはローカルDNSリゾルバを使用していますが、当社の検証はパブリックリゾルバ(1.1.1.1、8.8.8.8)を使用しています。レジストラがグローバルに伝播していない場合、パブリックリゾルバはまだレコードを確認できないことがあります。dig @1.1.1.1 links.acme.com を使って当社が何を見ているか確認してください。
レコードは正しく見えるが検証が失敗し続ける。 レコードのTTLを300秒に下げて10分待ってください。TTLが高いと否定的なキャッシュの解消が遅れます。
Apex CNAMEフラット化が有効だったが検証が失敗した。 CloudflareはCloudflareのリゾルバを通じたクエリに対してのみクエリ時にフラット化します。パブリックリゾルバはCNAMEをそのまま参照し拒否します。明示的にAレコードに切り替えてください。