
一般的なレンタルサーバーではSSL発行は手動で行います。ちなみにミックスホストであればドメインを追加したタイミングで同時にSSLも発行されますが一般的なレンタルサーバーは個別の設定が必要です。
おそらくあなたは何かでサイトの移転が必要になり、新しく契約した「エックスサーバー」内にホームページのファイル一式を移動させたいといったご状況かと存じます。本記事では発行方法を共有いたします。
作業は状況次第でかなり複雑になるのでエンジニアと共に作業をすすめるのがおすすめです。
目次
エックスサーバーで既存サイトに影響なくSSL発行をすみやかに完了させる方法
SSLは証明書を発行してから正常にブラウザで通信ができるようになるまで時間を要します。SSL証明書を発行してすぐは「SSL通信が不完全な状態」なのでブラウザ上で赤いエラーメッセージが表示されます。SSLの発行は主に3つの認証方法があります。まずはその違いを認識しておきましょう。
赤いエラーメッセージ
ちなみにSSL通信が不完全な状態で表示されるエラーメッセージは以下です。
ちなみに「ERR_CERT_COMMON_NAME_INVALID」はSSL発行が完了できていない状態です。サイトの表示はできますが「example.comにアクセスする(安全ではありません)」をクリックしなければなりません。サイトに訪れた閲覧ユーザーとしてはこのエラー画面が表示されたらページを閉じるのが普通です。
ちなみにスマホで閲覧すると少し違った画面で表示されます。
ページを開く場合は「詳細を表示」の中からアクセスします。
SSLの発行手順によっては上記メッセージが表示されサイトへのアクセスができなくなります。
SSL発行時の認証方法について
まずはSSL証明書を発行する際に認証方法が3つあることを理解してください。そしてどの認証方法を使ったとしても目的は「ドメインの所有権限を確認」するために使われます。SSLは証明書なので厳密です。
1. メール認証
ドメイン所有者しか受信できない特定のメールアドレスへ認証用のメールが送信されます。そして、あなた(申請者)がそのメールを受信する認証を行う手順です。申請は主に「メールの管理者」が行います。
2. ページ認証
SSL証明書の発行(申請)を行ったドメイン上に表示されるウェブページのhtml内に指定のmetaタグを挿入する認証方法です。レンタルサーバーによっては指定ファイルを指定の場所にアップロードする方法もあります。申請は主に「ウェブサイトの管理者(制作会社)」が行います。
3. DNS認証
ドメインネームシステムのTXTレコードに申込完了時に画面表示される認証文字列を追加する認証方法です。申請は主に「ドメインを管理するシステム担当者」が行います。
SSL証明書の発行(申請)では上記「3通り」の認証方法が用意されています。実際はレンタルサーバーによって準備されている「認証方法」が異なります。サーバーによっては「2」しかないパターンもあります。
3つの認証方法は何が違うのか?
認証方法の違いを理解するには「SSL証明書を発行する場面」を考える必要があります。
A. 新しく立ち上げた「新規サイト」にSSLを導入する
B. 現在運営している「既存サイト」にSSLを導入する
C. サーバーの移転で「新サーバー」にSSLを導入する
まず「AとB」は、まだ一度もSSLを発行していない状況なので3つのどの認証方法でも特に問題ありません。気をつけなければならないのは「C」のみ。そして3には「2つのパターン」が考えられます。
α. 旧サーバーにSSLを導入していなかった場合
β. 旧サーバーにSSLをすでに導入していた場合
厄介なのは「β」の“すでにSSLを導入していた場合”です。なぜかというと「旧サーバー側」で運営していた状況に合わせて「新サーバー側」をまったく同じ環境でSSL証明書を準備しないといけないからです。
つまり「http://をhttps://化する」のはさほどむずかしくありませんが「https://をhttps://のまま新サーバーへ移行するとき」だけは特に注意が必要となります。たとえば「サイト移転」では表面上のURLに変化がなくても裏側の通信は『旧サーバーと新サーバーで接続場所が違う』ので見逃せない事前準備があるわけです。
旧サーバー:https://example.com
新サーバー:https://example.com
※URLは同じでもファイルの参照データは異なります
上記は同じURLですが『ドメインが参照しているデータの保存場所は違う』という意味です。
具体的に言えば「新サーバー」側でSSLを発行する手順を間違えると、DNS設定を旧サーバーから新サーバーへ切り替えた瞬間にページが開かなくなってしまいます。移転時の典型的なトラブルですね。
そのために「各社レンタルサーバー」では、事前(旧サーバーから新サーバーに切り替える前)にSSL証明書を発行する仕組みが用意されています。その方法が先述した「1〜3」の3つの認証方法。
メール認証の使い方
メール認証では「該当ドメインのメールアドレス」が必要です。さらに「@以前は指定」されています。
admin@example.com
administrator@example.com
hostmaster@example.com
postmaster@example.com
webmaster@example.com
上記のメールアドレスで受け取らなければなりません。つまり「旧サーバー側でメール機能を使っている」と実質「メール認証」はつかえなくなります。ドメインのDNS設定からMXレコードを指定してメールサーバーを一時的に「新サーバー側」へ向ければ使えなくはないですが作業には書き方の知識も必要です。
ページ認証の使い方
ページ認証はFTPで旧サーバーへ接続して「index.html」を編集してmetaタグを仕込めばOK。指定のファイルを指定の場所にアップロードする指示があったら場合はその通りに設定してください。もし仮に旧サーバー側がFTP接続を許可していれば使えますが『FTP接続不可』であればページ認証は使えません。
DNS認証の使い方
TXTレコードはDNS設定のメモです。DNS設定は「独自ドメインが持っている設定」なので旧サーバーにも影響されない唯一の方法となります。ただし、ドメインネームシステムで『TXTレコードが追加できるかどうか』はドメインレジストラサービス(ドメインを管理するサービス)にもよります。
エックスサーバーが対応しているSSL発行時の認証方法
先述した通り認証方法3種類に対応しているかどうかはレンタルサーバー次第です。ちなみにエックスサーバーではSSL証明書の発行(申請)画面で「ページ認証とDNS認証」が選べるようになっています。
(イ)ネームサーバーを変更して認証
(ロ)外部サーバーでのWeb認証
(ハ)外部ネームサーバーでのDNS認証
選択肢としては上記の3つです。1つめの「イ」はドメインのDNS設定自体をXserver側へ向けておく必要があるのでSSL証明書の発行前の状況の「C」では使えません。思いつきそうなアイデアとして「DNSを新サーバー側に変更してSSLを発行後にすぐDNSを戻す」という荒技もありますが得策とはいえないです。
そして次の「ロ」。旧サーバーがFTP接続を許可していればWeb(ページ)認証は使えます。一般的なレンタルサーバーではFTP接続を解放していますがWixやJimdoではFTP接続は禁止されていて使えません。
最後に残された選択肢が「ハ」。DNS認証は「TXTレコードを追加する方法」なのでドメインを管理しているレジストラサービスがTXTレコードの追加を許可していれば使えます。もっとも安全に移行できる方法です。
DNS認証用にTXTレコードを追加する方法
エックスサーバーでSSLを発行する際に「外部ネームサーバーでのDNS認証」を選んで進めると手続き完了画面で指定のTXTレコードが表示されるのでメモ帳にコピーしておきましょう。
次にTXTレコードをDNS設定に追加しましょう。レコード設定は重要なデータが入っているので作業は要注意。
ドメインを管理しているサービスの画面を開きます。そして以下の内容を追加しましょう。
▼ホスト名
指定の内容
▼TYPE(種別)
TXT
▼TTL
変更の必要なし
▼VALUE(内容)
指定の内容
▼優先度
変更の必要なし
以上がTXTレコードの追加方法です。
まとめ
SSLの発行は状況によって手順が大きく変わるのが特徴です。特に気をつけなればならないのは「すでにSSLを導入しているサイト(https://)」が「新しいサーバーに移転」させるときなので気をつけてください。サーバー上の作業は慎重すぎるに越したことはないので1つずつ確実に作業を進めましょう。
あとエックスサーバーでは「Xdomainで管理しているドメイン(他社サーバーを向けている場合)」に対してコントロールパネルからDNSレコードを追加する機能が付いていません。
このあたりはサーバー会社によって対応方法も変わります。またChromeやFirefoxなどとブラウザの種類やバージョンの違いによってもSSL証明書の扱いは大きく異なってきます。現在すでにhttps://でホームページを運営されていてFTP接続ができないホームページサービスの方が他サーバーへ移転する際は注意が必要です。条件次第では「赤いエラーメッセージを一切出さず」シームレスにページ移行もできます。
補足
DNSレコードの追加はネームサーバーが向いている側で行う必要があります。たとえばある1つのドメインをお名前ドットコムで管理していてネームサーバー設定がXserverを向いているとしましょう。
その際はXserver側でDNSレコードを追加する必要があります。ただ、サーバー会社によってはDNSレコードを追加する機能がついていない場合もあります。そうなるとお名前ドットコム側ではネームサーバー機能を使わずにDNSレコード機能を使って細かく1つずつ値を設定していかなくてはなりません。
もちろん、各値はレンタルサーバー側から指定された内容を設定する必要があります。ネームサーバーとDNSレコードは奥が深いですね。切り替えるタイミングを間違えるとサイトが見れなくなるので扱いは慎重に。
最新式の無料プラグインを事前公開
WordPressは公式サイトに登録済みのプラグインだけで全機能を補足しきれません。当サイトでは使いやすさを追求した魅惑的なプラグインを無料でダウンロードいただけます。運営ホームページのマーケティング力をさらに高めるチャンスです。まずは無料でDLしてお試しくださいませ。
→ 改良されたプラグインを確認する