エックスサーバーの無料独自SSLをサイト移転前に設定する方法
はじめに
エックスサーバー・スターサーバーの無料独自 SSL 設定をサイト移転前に設定し、SSL で接続できなくなる問題を回避する方法を紹介します。
※スクリーンショットはスターサーバーの管理画面ですが同じ業者であ るエックスサーバーでも同様に設定可能です。


サイト公開しないと無料独自 SSL 設定ができない
当ブログはMixHostからスターサーバーへ移転しました。移転時に一番問題だと感じたのが、サイトをスターサーバーで公開しないと無料独自 SSL 設定ができないため、一定時間 SSL が使用できないダウンタイムが存在してしまうことでした。
スターサーバーにドメイン追加後、SSL 設定より「無料独自 SSL 追加」を行ってもエラーが発生したと表示され設定ができません。

この状態でネームサーバーの設定を変え新サーバーにアクセスが行ってしまうと、SSL 検証エラーとなり、SSL を設定するまでの間ダウンタイムとなってしまいます。また、HOSTS ファイルを使用して新サーバーでの動作確認も行えません。

SSL 設定時の認証
エックスサーバーやスターサーバーの「無料独自 SSL」は「Let's Encrypt Authority X3」を使用しています。認証は Let's Encrypt が行っています。
Let's Encrypt の Web 認証では、http://example.com/.well-known/acme-challenge/ の直下に Let's Encrypt から指示された認証用一時ファイルを設置し、存在が確認されることで行われます。
エックスサーバーやスターサーバーでも「無料独自 SSL 追加」を行うと設定するサーバーの /.well-known/acme-challenge/ の直下に認証用一時ファイルを設置しています。
User Guide The Let’s Encrypt project — letsencrypt latest documentation
https://letsencrypt.readthedocs.io/en/latest/using.html