ConoHa WINGの無料独自SSLが「設定中」のまま終わらない:外部DNSなら「wwwあり」のAレコードも要る
ConoHa WINGで無料独自SSLを「利用する」にしたのに、何時間たっても「設定中」のまま。
そんな状態で、この記事にたどり着いた人もいると思います。
私はこれで40時間ほど待ちました。
結局、そのドメインのSSLは今も発行されていません。このブログは、別に取り直したドメインで動いています。
あとから公式のヘルプを読み直して、原因はたぶんこれだったというものが見つかりました。
外部のDNS(私の場合はCloudflare)を使っているなら、www なしのAレコードだけでは足りず、www ありのAレコードも要る、という話です。
当時の私は、AIに手伝ってもらいながら「DNSは全部正常」と判断していました。その判断が、この1行を見落としていました。
先に書いておくと、私はネットワークの専門家ではありません。ConoHaへの問い合わせもしていないので、原因は「たぶん」のままです。
この記事は、待っている間にやってはいけないこと、自分で確かめられること、見落としやすい1行を、順番に並べた記録です。
今まさに「設定中」を眺めている人が、次に何をすればいいか決められれば十分です。
何をしようとしていたか:外部DNSのサブドメインでWordPressを始めたかった
このブログを始めるとき、最初はすでに持っていたドメインのサブドメインで動かすつもりでした。example.com を持っていたので、その下に home.example.com を作れば、ドメインを新しく取らずに済みます。
ConoHa WINGには無料独自ドメインがついてくることも知っていましたが、相談していたAIからも「まずは試験的に」と勧められ、お試しのつもりでサブドメインを選びました。
ドメインのDNSは、ConoHaではなくCloudflareで管理していました。
なので、DNSはCloudflareのまま、ConoHa向けのレコードを足すことにしました。
やったことはこうです。
- ConoHa WINGに、親ドメイン
example.comと、サブドメインhomeを追加する - Cloudflareに、
home→ ConoHaのサーバーのIPアドレス、というAレコードを1つ作る(プロキシはオフ) - ConoHaの管理画面で、無料独自SSLを「利用する」にする
ここまで15分ほどで済みました。あとはSSLが降りるのを待って、WordPressを入れるだけ、のはずでした。
ところが、管理画面の表示は「設定中」のまま変わりませんでした。
よく聞く話では、2〜3時間もあれば降りるそうです。
夜に設定して、翌朝に見ても、昼に見ても、その日の夜に見ても「設定中」のままでした。
先にやってはいけないこと:ON/OFFのやり直し
「設定中」が長引くと、一度「利用しない」に戻して、もう一度「利用する」にしたくなります。
パソコンの再起動と同じ感覚です。
これはやらないほうがいいです。ConoHaの公式ヘルプに、こう書いてあります。
無料独自SSLは短期間に複数回設定をされると、一定期間申請が制限されますので、ご留意ください。
どれくらいの期間制限されるのかは、ヘルプには書かれていません。
原因が分からないまま何度もやり直すと、原因を直したあとも、制限が解けるまで待つことになりかねません。
私もこの間、ON/OFFは一度も触りませんでした。
待っている間にやったのは、あとの章で書く「自分で確かめられること」だけです。
ついでに踏んだ罠:サブドメインが home.example.com.example.com になる
SSLとは別の話ですが、同じ作業の中で踏んだので書いておきます。
私は最初、ConoHaの「ドメイン追加」で、「新規ドメインを追加」のほうに home.example.com と入れてしまいました。
すると、こう怒られます。
言われたとおり「サブドメインを追加」に切り替えて、同じように home.example.com とフルで入れました。
今度は通ったのですが、登録された名前は home.example.com.example.com でした。
「サブドメインを追加」の入力欄では、親ドメインは画面の側で自動でつきます。入力欄に入れるのは home だけ が正解です。
私はうまくいかないので、管理画面のスクショをAIに見せたところ、名前が二重になっていると指摘されて、ようやく理解して直しました。
名前が二重になっていると、DNSで home.example.com を正しく設定していても、ConoHa側の名前と一致しません。
SSLが降りないときは、念のためConoHaのドメイン一覧に表示されている名前が、意図したとおりかも見ておくと安心です。
自分で確かめたこと:DNS・CAA・httpの応答
待っている間、ConoHaの外側でおかしなところがないかを確かめました。
コマンドを打ったのはほとんどAIで、私は結果を見て一緒に判断していた、というのが正直なところです。
どれもパソコンのターミナルから打てるので、同じように確かめられます。
1. Aレコードが、ConoHaのIPアドレスを向いているか
dig +short home.example.com A
dig +short home.example.com A @1.1.1.1
dig +short home.example.com A @8.8.8.8
どれもConoHaのサーバーのIPアドレス(ConoHaの管理画面の「サーバー情報」に出ている値)が返れば大丈夫です。
Cloudflareを使っている場合は、プロキシ(オレンジの雲)をオフにして「DNSのみ」にしておきます。
オンのままだと、CloudflareのIPアドレスが返ってきて、ConoHaまで届きません。
2. CAAレコードで、証明書の発行を止めていないか
dig +short home.example.com CAA
dig +short example.com CAA
CAAレコードは「このドメインの証明書は、この発行元にしか出させない」という指定です。
何も返ってこなければ制限はかかっていません。私の場合は何も返ってきませんでした。
3. httpでアクセスして、ConoHaがこの名前を知っているか
curl -sI http://home.example.com/
私の場合は 403 が返ってきました。エラーに見えますが、これは「ConoHaはこの名前を受け取っていて、置き場が空なだけ」という意味でした。
IPアドレスを直接打つと 404 になったので、ConoHaの中に home.example.com の置き場がある、と判断できました。
ここまでの結果を並べて、AIと私は「外側の条件は全部正常。詰まっているのはConoHa側の処理だけ」と判断しました。
この判断が間違っていたことは、次の章で書きます。
本当の原因はたぶんこれ:外部DNSなら「wwwあり」のAレコードも要る
あとからConoHaの公式ヘルプ「無料独自SSLを設定する」を読み直すと、こう書いてありました。
外部DNSをご利用の場合は「www有り無し」2つのAレコードの設定が必要となります。
私がCloudflareに作ったのは、home.example.com のAレコード1つだけです。www.home.example.com のAレコードは作っていませんでした。今あらためて調べても、やはり存在しません。
dig +short www.home.example.com A
(何も返ってこない)
なぜ www ありまで要るのかは、今のこのブログの証明書を見るとなんとなく分かります。
echo | openssl s_client -connect yuruttotech.com:443 -servername yuruttotech.com 2>/dev/null \
| openssl x509 -noout -ext subjectAltName
DNS:www.yuruttotech.com, DNS:yuruttotech.com
ConoHaの無料独自SSLは、www なしと www ありの2つの名前を1枚の証明書にまとめて発行しています。
おそらく home.example.com のときも、www.home.example.com の分まで確認しようとしていて、
そちらの名前が見つからないので、発行が止まっていたのだと思います。
「サブドメインに www をつけて使うことなんてないから、関係ない」と思い込んでいたのが、見落とした理由です。
前の章で「外側の条件は全部正常」と判断したときも、www ありの名前は誰も調べていませんでした。
ただし、ここは確かめていません。www.home.example.com のレコードを足して、SSLが降りるかを試す前にドメインを取り直してしまったので、
原因は「公式ヘルプの記述と、今の証明書の中身から考えると、たぶんこれ」までです。ConoHaにも問い合わせていません。
もし今、外部DNSで「設定中」から進まないなら、ON/OFFを触る前に、まず www ありの名前のAレコードがあるかを見てください。
Cloudflareなら、名前の欄に www.home(サブドメインの場合)または www(ドメインそのものの場合)と入れて、
同じConoHaのIPアドレスを向けたAレコードをもう1つ作ります。プロキシはこちらもオフにします。
結局どうしたか:ブログの名前をそろえたくて、ドメインを取り直した
40時間ほどたったところで、home.example.com で始めるのをやめました。
先に書いておくと、SSLを直すためにドメインを変えたわけではありません。
待っている間に「お試しではなく、本気でやりたい」と気持ちが固まりました。
本気でやるなら、ブログの名前とドメインの名前はそろえたい。「ゆるっとテック」という名前が決まったところで、example.com の下にぶら下げるより、yuruttotech.com という独立したドメインのほうがまとまりが出ると思いました。
ドメインは、ConoHa WINGのWINGパックについてくる無料独自ドメインで取りました。
この場合、ネームサーバーは最初からConoHaになります。DNSのレコードもConoHaが自分で作るので、www ありのレコードも自動で入ります。
結果、SSLは数時間で降りました。
証明書は前の章で見たとおり、www なしと www ありの2つの名前が入ったものです。
ただ、これは「ドメインを変えれば直る」という話ではありません。
外部DNSの設定をいじらずに済む形へ移ったら、前の章で見落としていた部分(www ありのレコード)も、ConoHaが勝手に埋めてくれた、ということだと思っています。home.example.com のほうは、今アクセスしても、ConoHaの既定の証明書が出たままです。
SSLが降りてWordPressを動かし始めたあと、今度はWordPressのログイン名が外から見えていたことに気づきました。自分のサイトで確かめる方法と、塞いだ手順はWordPressのログイン名が誰でも見られる状態だったにまとめています。
そもそもConoHaを契約したのは、Vercelの無料プランに広告を貼っていたら規約違反だったと気づいて、サイトを移す先が必要になったからでした。その経緯と移したときの失敗はVercelの無料プランに広告を貼っていたら規約違反だったに書いています。
まとめ:外部DNSで「設定中」から進まないときに見る順番
- ON/OFFは触らない。短期間に何度も設定すると、申請が制限されるとConoHa公式に書いてあります
- ConoHaのドメイン一覧の名前を見る。サブドメインの入力欄に親ドメインまで入れると、
home.example.com.example.comのように二重になります - Aレコードを見る。
digで、ConoHaのサーバーのIPアドレスが返るか。Cloudflareならプロキシはオフ wwwありの名前のAレコードもあるか見る。外部DNSなら「www有り無し」の2つが必要です。私がたぶん詰まっていたのは、ここでした- CAAレコードで発行を止めていないか見る
それでも動かなければ、私のように別の道へ逃げる前に、ConoHaへ問い合わせるのが確実だと思います。
私は問い合わせなかったので、原因を「たぶん」のまま書くことになりました。
これからドメインを用意するなら、ConoHaの無料独自ドメインで取って、ネームサーバーもConoHaのまま使うのが一番つまずきにくい形です。
DNSを外で管理したい事情がある場合だけ、この記事の順番で確かめてみてください。
