別ページでSSL化したサイトのサーバー移転時の注意で述べたように、既にSSL化したWordpressサイトを別サーバーに移転させる際、Let's Encriptなどの無料SSL証明書は事前に発行する事ができません。
ネームサーバーを切り替えてサーバー引っ越しをした後でないとSSL設定ができない(https:にできない)という説明をしました。
これはほとんどのサーバー先でそうなのですが、他で取得したSSL証明書を事前に持ち込んで継承する事が出来る例外サーバーがありますのでここでご紹介したいと思います。
それはその一つが「MIXHOST」です。
MIXHOSTサーバーは、Let's Encriptなどの無料SSL証明書の持ち込みが可能となっており、ドメインの設定時に持ち込み設定をする事により事前にSSL設定が可能になります。
これによりサーバーの引越し前にWordpressがインストール・データのテスト確認ができます。最初からhttps://ドメイン名/でWordpressインストールおよびサイト構築が実現できるので、http:に戻したりする必要がなく、SEO的な影響もなく移転させる事ができます。
ちなみにMIXHOSTサーバーの場合、Let's Encryptで発行したSSLサーバ証明書の有効期限が3日前になると自動でmixhostのSSLサーバ証明書に置き換えられます。
上記はLet's Encriptなどのドメイン名認証型の無料SSL証明書の場合の説明であり、それ以外のIPアドレス認証などに代表される「有料SSL証明書」についてはここでは割愛しています。
ここでポイントとなるのは、なぜMIXHOSTサーバーがSSL証明書の持ち込みができるのかです。
実はMIXHOSTサーバーのコントロールパネルでは、Let's Encriptで発行されたSSL証明書の「秘密鍵」「中間証明書」を入力する欄があり、他社で取得したSSL証明書を入力・インストールして利用する事ができるのです。
逆に他のレンタルサーバーではこのLet's Encriptで発行されたドメイン認証型SSL「秘密鍵」や「中間証明書」を入力する欄が設けられていないために持ち込みできないという事になります。
これはWEBサーバーを日々操作している専門家の方には簡単なお話でしょう。しかし一般の方にはかなりハードルが高い事を意味しています。
ここまで、移転元のレンタルサーバーで取得したLet's Encriptの証明書の「秘密鍵」「中間証明書」がわかれば、MIXHOSTサーバーへ持ち込みができる事がわかりました。
ここで問題となるのが、その移転元の各種証明書情報はどのように取得するのかです。おそらく移転元サーバーの各種コントロールパネル内には「秘密鍵」「中間証明書」の記載はありません。
そこでブラウザツールを用いて、利用中のLet's Encriptのサーバー証明書「秘密鍵」「中間証明書」を把握する事になります。
MIXHOSTサーバーに具体的な設定の案内ページがあるのかどうかを確認しましたがマニュアルページなどが無いためご案内はできないとの事でした。
ただ、それほど難しい操作設定ではないので、下記に大まかな流れを紹介します。
SSLなう!を開く | SSLなう!の上部画面から「Let's Enctyptへ登録」をする。 |
チャレンジトークンの取得 | 「証明書発行を希望するドメイン名」に証明書を発行するドメイン名を入力 |
ドメイン名の所有確認 | 指定する文字列を記載した指定ファイルを指定ディレクトリに配置する (www付きとwwwなしとでファイルがそれぞれ必要) ※Google search consoleのファイル認証と同じ形式です。 |
証明書の発行申請 | 「サーバーで使用するSSL秘密鍵」を生成ボタンで表示し、さらに証明書発行申請をクリックして発行します。 表示された情報がコピー元になります。 |
MIXHOST側の設定 | 移転先cPanelでドメイン名を登録します。 |
SSLの管理ページへ移動 | セキュリティ→SSL/TLS→「SSLサイトを管理します」をクリック |
MIXHOSTのcPanelの所定欄にコピペ | cert.pem(サーバー証明書)欄を、MIXHOSTの証明書:(CRT)欄へ 「サーバーで使用するSSL秘密鍵」のコードを、MIXHOSTの秘密キー(KEY)欄へ chain.pem (中間証明書)を、MIXHSOTの証明機関バンドル:(CABUNDLE)欄へ |
証明書インストール | 「証明書のインストール」をクリック 「SSL証明書が正常に更新されました」の画面が表示されたらインストール完了 |
このようにブラウザツールで発行された証明書をMIXHOSTサーバーに持ち込む事で事前にSSL設定が可能になります。
後はデータを移してhostsファイルで移転先データを確認するなどは通常と同じ流れです。
今までは一つのグローバルIPに対し一つのSSL証明書しか発行ができませんでした。ですのでSSLを掛けたページは自身の独自ドメインのサイトではなく、WEBサイトが入っている共用サーバーアドレス単位での発行になっていました。
それがSNIの登場により、1つのドメイン名に対して1つのSSL証明書が発行できる様になります。SNIを利用する事でWEBサーバーはhttps通信をおこなう際「どのドメインに対応してSSLサーバ証明書を利用するのか」を判断する事ができる様になったのですね。
現在は1ドメインに対して1つのSSLサーバー証明書を発行するのは当たり前の環境になっています。それはこのSNIがIPアドレスの枯渇を防いでしっかり下支えしているためです。
上記項目はスライドします。