使い倒し研究所
サイト制作・公開

エックスサーバーで取ったドメインをNetlifyで使う正しい手順|丸一日ハマって分かった2つの落とし穴

PR本記事にはプロモーション(アフィリエイト広告)が含まれます。

エックスサーバーでドメインを取り、サイトはNetlifyで公開する。この構成で丸一日ドメインが繋がりませんでした。原因はネームサーバーの選択ミスと、やってはいけない設定の追加でした。実際のログつきで手順をまとめます。

この記事でできるようになること

結論を先に書きます。 落とし穴は2つです。

  1. エックスサーバーにはネームサーバーが2系統あり、外部サービスで使うなら xdomain.ne.jp を選ぶ
  2. サーバーパネルに「ドメイン設定追加」をしてはいけない(SSL発行が止まる)

この2つを外すと、待っても永久に繋がりません。

前提

正しい手順

1. ネームサーバーを xdomain.ne.jp にする

Xserverアカウント → ドメイン → ネームサーバー設定

ns1.xdomain.ne.jp
ns2.xdomain.ne.jp
ns3.xdomain.ne.jp

ここが最大の分岐点です。 ドメインを取得した直後の初期値は ns1〜5.xserver.jp になっています。これはエックスサーバーのレンタルサーバーで運用する場合のもので、外部サービスで使う場合は別系統の xdomain.ne.jp が正解です。

2. DNSレコードを設定する

Xserverアカウント → ドメイン → DNSレコード設定

ホスト名 種別 内容
(空欄) A 75.2.60.5
www CNAME あなたのサイト名.netlify.app

75.2.60.5 はNetlifyが外部DNS向けに公開しているIPです。

www にAレコードが先にあると、CNAMEを追加できません。 先に削除してください。ワイルドカード(*)のAレコードがあればそれも消します。

3. サーバーパネルには何もしない

これが2つ目の落とし穴です。詳しくは後述しますが、サーバーパネルの「ドメイン設定追加」はやってはいけません。

つまずきやすい点

落とし穴1:ネームサーバーがずれていると、待っても永久に繋がらない

初期値の xserver.jp のまま、DNSレコード設定にレコードを入れた場合こうなります。

この状態は lame delegation(不正な委譲) と呼ばれます。管理画面にはレコードがちゃんと見えているので、「反映待ちだろう」と思って待ってしまいます。実際、6時間待ちました。待っても直りません。

見分け方は簡単で、SOA(ゾーンそのものの存在を問う問い合わせ)を投げます。

curl -s "https://dns.google/resolve?name=あなたのドメイン&type=SOA"

"Status":2 が返るなら、ゾーンが見つかっていません。レコードの中身ではなく、委任先を疑ってください。

レジストリに実際に登録されているネームサーバーはこれで確認できます。

curl -s "https://rdap.verisign.com/com/v1/domain/あなたのドメイン"

落とし穴2:サーバーパネルにドメインを追加するとSSLが発行されなくなる

ネームサーバーを直せば名前解決は通ります。ところが今度はNetlifyの証明書が発行されませんでした。

Netlify APIに直接問い合わせると、理由が出ました。

{"error":"bad dns for custom domain"}
[HTTP 422]

DNSは正常なのに「bad dns」と言われます。原因はこうでした。

サーバーパネルにドメイン設定を追加していたため、xserver.jp 側にも同じドメインのゾーンが作られていたのです。そこにはエックスサーバー自身のIPを向いたAレコードが自動生成されます。

結果、同じドメインに答えが2つ存在する状態になります。

参照経路 返る答え
新しい委任(xdomain.ne.jp Netlify のIP
古い委任のキャッシュ(xserver.jp エックスサーバーのIP

Netlifyの検証サーバーが古い側を引くと「うちを指していない」と判断し、証明書の発行を拒否します。

サーバーパネルからドメイン設定を削除したところ、同じリクエストが即座に 200 OK を返すようになりました。

サイトの実体は外部にあるので、サーバーパネルへの登録はそもそも不要です。やらないのが正解でした。

落とし穴3:CLIはエラーの中身を隠す

Netlify CLIで証明書の発行を要求すると、こうとしか出ません。

JSONHTTPError: Unprocessable Entity

これでは原因が分かりません。生のcurlでAPIを叩くと本文が読めます。

curl -s -X POST -H "Authorization: Bearer $TOKEN" \
  https://api.netlify.com/api/v1/sites/$SITE_ID/ssl

ここで初めて bad dns for custom domain という具体的な理由が出ました。原因が分からないときは、CLIを疑ってAPIを直接叩くのは他の場面でも使えます。

落とし穴4:自分のPCのキャッシュに騙される

ネームサーバーを直した後も、作業していたMacだけは古いIPを返し続けました。外の世界(Google DNS・Cloudflare DNS)は正しく新しいIPを返しているのにです。

自分の環境だけを見て判断しないでください。 必ず外部のDNSで確認します。

curl -s "https://dns.google/resolve?name=あなたのドメイン&type=A"

権威サーバーに直接聞くのも有効です。

dig +short あなたのドメイン A @ns1.xdomain.ne.jp

診断の手順まとめ

繋がらないときは、上から順に切り分けます。

順番 確認すること コマンド
1 レジストリのネームサーバー curl -s https://rdap.verisign.com/com/v1/domain/DOMAIN
2 ゾーンが存在するか curl -s "https://dns.google/resolve?name=DOMAIN&type=SOA"
3 権威サーバーの答え dig +short DOMAIN A @ns1.xdomain.ne.jp
4 外部から見た答え curl -s "https://dns.google/resolve?name=DOMAIN&type=A"
5 SSL発行の拒否理由 Netlify APIを生のcurlで叩く

1で xserver.jp が出ていて、2が失敗するなら、落とし穴1です。
1〜4が正常なのに証明書が出ないなら、落とし穴2を疑ってください。

よくある質問

エックスサーバーのネームサーバーはどちらを使えばいいですか?

エックスサーバーのレンタルサーバーでサイトを運用するなら ns1〜5.xserver.jp、Netlifyなど外部のホスティングを使うなら ns1〜3.xdomain.ne.jp です。外部サービスを使うのにxserver.jpのままだと、ゾーンが見つからず名前解決ができません。

DNSレコードは正しいのにサイトが表示されません。何を疑うべきですか?

ネームサーバーの委任先を疑ってください。SOAレコードの問い合わせが失敗する場合、レコードの中身ではなく、レジストリが指しているネームサーバーとレコードの保存先がずれています。この状態は待っても解消しません。

NetlifyでSSL証明書が発行されない場合、何が原因ですか?

NetlifyのAPIを直接叩くとエラーの本文が読めます。bad dns for custom domain と出る場合、Netlifyの検証サーバーがドメインの解決先を自社と認識できていません。同じドメインに対して複数のDNSゾーンが存在していないか確認してください。

ネームサーバーの変更はどれくらいで反映されますか?

変更自体は数十分で反映されましたが、変更前の情報をキャッシュしている外部のDNSサーバーが残ります。.comドメインの委任情報は最大48時間キャッシュされるため、完全に切り替わるまでには時間がかかることがあります。

まとめ

エックスサーバーで取ったドメインを外部サービスで使うときの正解は3つだけです。

  1. ネームサーバーは ns1〜3.xdomain.ne.jpxserver.jp ではない)
  2. DNSレコード設定でAレコードとCNAMEを入れる
  3. サーバーパネルにドメイン設定を追加しない

3番は、公式の案内を読んでいると「追加するもの」と思い込みがちです。実際に丸一日止まった原因がこれでした。

「エックスサーバー」は提携申請がまだ完了していません。提携後に tools/ads.py の url と status を更新すると、ここにリンクが表示されます。

追記(2026-08-23):SSL証明書が発行されました。

サーバーパネルからドメイン設定を削除した後、証明書は約6時間で発行されました。Let's Encryptの証明書で、apexとwwwの両方をカバーしています。

X509v3 Subject Alternative Name:
  DNS:tsukaitaoshi.com, DNS:www.tsukaitaoshi.com

ドメイン取得からサイトが独自ドメインで表示されるまで、合計で約15時間かかりました。正しい手順を最初から知っていれば10分で終わる作業です。かかった時間のほぼすべてが、この記事に書いた2つの落とし穴によるものでした。

なお、証明書が発行された後も作業していたMac自身は古いIPを返し続けました。 自分の環境だけで判断せず、必ず外部のDNSで確認してください。

この記事を書いた人
カズト(ETERNAL d.c.t)

ETERNAL d.c.t 代表。Web制作・生成AI導入支援・ライバー事務所運営を手がける。Claude Code / Codex CLI / n8n / Google Apps Script を実務で毎日使い、自社サイト・学習アプリ・業務自動化を内製している。このサイトでは、実際に自分が金を払って使ったツールだけを扱う。