mixhostで無料SSL証明書を持ち込んで、ダウンタイム無しでSSL化サイトを移転しようとしたときの話です。
SSLなうを利用してLets encryptの無料証明書を発行し、SSL証明書をcPanelに設定して一件落着だったのですが、その後、ネームサーバーを切り替える前にドメイン移管をしたせいなのかわかりませんが、SSL証明書が無効になっていました。
その後、再度SSL証明書を取得しようとしたらエラーで取得できなくなりました。
この記事では、mixhostでSSL証明書が無効になった理由と、SSLなうでSSL証明書を発行しようとしたら『 チャレンジトークンの取得に失敗しました. エラー内容 : dns-01 に対応していません. 』のエラーが出た時の解決方法をまとめています。
mixhostで持ち込みSSL証明書が時間が経つとエラーになる理由
mixhostではSSL証明書を持ち込むことができますので、ネームサーバーを切り替える前にSSL化するのはよくおこなわれています。
今回、SSL証明書を持ち込み、首尾よくSSL化もできたので安心して、ネームサーバーを切り替えずに放置していたら、1日か2日するとSSLが無効になっていました。
エラーの内容は、以下の内容です。
簡単に言えば、ネームサーバーに登録されているIPアドレスとサーバーのIPがあってないから、無効になったという内容です。
Local HTTP DCV error (domainname.com): The system queried for a temporary file at “...”, but the web server responded with the following error: 404 (Not Found). A DNS (Domain Name System) or web server misconfiguration may exist. The domain “domainname.com” resolved to an IP address “...” that does not exist on this server.

事前SSL化をしてその後SSLのエラーになったことは初めてでなんで??と思ったのですが、SSLなうで使った認証が、今回は、http-01認証だったのでネームサーバーを切り替えないとだめだったのだと思います。
dns-01認証していれば、ずっとネームサーバーを切り替えなくても、大丈夫な気がします。
当たり前と言えば、当たり前なのですが、今まではすぐにネームサーバーを切り替えていたのとdns-01認証しか使ったことが無かったため、このようなエラーになることも無く、気が付きませんでした。
DNSゾーンにTXTフィールドを追加して、dns-01認証すればいいのですが、それは今回は出来ない事情があります。
SSLなうで再度SSL証明書を取得
今回のエラーは、SSL証明書を持ち込んで、ネームサーバーを1日以内に切り替えれば、問題は起きなかったし、今からネームサーバーを切り替えれば問題なくなると思います。
しかし、それができない理由があるので、仕方なく同じ手順を再度SSLなうで行ったら、今度は、以下のようなエラーに出くわしました。
チャレンジトークンの取得に失敗しました. エラー内容 : dns-01 に対応していません.
色々ネットで調べても、前回成功しているのになんで今回ダメなのかわかりませんでした。
ふと見上げると、SSLなうには設定ボタンがあった
そんな時、SSLなうのギアマークが目につきました。

クリックすると、クッキーを削除してくれそうなボタンが登場

これをクリックすると、1. Let’s Encrypt へ登録の内容が初期化されます。
まとめ
SSLなうで、『 チャレンジトークンの取得に失敗しました. エラー内容 : dns-01 に対応していません. 』というエラーが出た時は、SSLなうの設定から登録情報を削除することでチャレンジトークンが発行できるようになりました。
SSLの事前認証でhttp-01を使う場合は、ネームサーバーを切り替えないとSSLエラーが起きてSSLが無効になりますので、http-01を使う場合はすぐにネームサーバーを切り替える。もしくは、dns-01を使って事前認証するのどちらかになります。
同様なエラーに悩まされている場合は、参考にされてください。