htmlcss エックスサーバーで無料独自SSLを事前に設定

2021年5月13日

エックスサーバーでは他社サーバーからの移転時にSSL証明書を事前発行(無料独自SSLを事前に設定)することができます。

サーバーを移転する際、ネームサーバーの切り替え後に SSL を設定すると、反映されるまで時間がかかり、その間「この接続ではプライバシーが保護されません」というような SSL エラーになってしまいます。

例えば、ConoHa の場合は無料独自SSLを利用するにはあらかじめドメインのネームサーバーをConoHaのネームサーバーに設定する必要があり、無料独自SSLを事前に設定するには DNS やネームサーバーの変更が必要になりますが、エックスサーバーでは無料 SSL の事前設定の方法が用意されていて比較的に簡単に行なえます。

以下はエックスサーバーに移転する際に、無料独自SSLを事前に設定する方法の覚書です。

以下がサイト移転のおおまかな手順です。

  • エックスサーバーでドメインを追加
  • 上記で追加したドメインに無料の SSL を事前に設定
  • サイトを構築(コンテンツをサーバーにアップロード)
  • 動作確認 URL や hosts ファイルなどを使って表示や動作を確認
  • メールアカウントを作成(移行元と同じメールアカウントを追加)
  • メールクライアントを設定し移行元のメールを移行先にコピー
  • ドメインのネームサーバーを変更(切り替え)

ドメインを追加

サーバーパネルへログインし、「ドメイン設定」をクリックし、「ドメイン設定の追加」をクリックします。

ドメインを入力し、「無料独自SSLを利用する」のチェックボックスはデフォルトのまま(チェックが入った状態で)「確認画面へ進む」をクリックします。

「ネームサーバーがエックスサーバー指定のものになっていません」と表示されますが、この場合は「他社サーバーからの移転の場合」に該当するので、「追加する」をクリックします。

「無料独自SSLの設定に失敗しました」「お手数ですが、再度「SSL設定」から無料独自SSLを設定してください。」と表示されます。

無料SSLを事前に設定

「ドメイン設定」で表示されたメッセージの「SSL設定」をクリックします(または、コントロールパネルから「SSL設定」をクリックします)。

「独自SSL設定追加」をクリックして、「確認画面へ進む」をクリックします。

以下のような「xxxx.com のDNS参照先サーバーが当サーバーではありませんでした。」という内容のメッセージが表示されます。

サイトの移転なので「xxxx.com を他社サーバーで運用中の場合(サーバーを移転する場合)」に該当するので、メッセージに表示されているように「外部サーバーでのWeb認証」または
「外部ネームサーバーでのDNS認証」を利用してSSL設定を追加します。

エックスサーバーの場合、トークンファイルでの Web 認証または DNS 認証を利用して事前に無料 SSL(Let’s Encrypt)を設定でき、以下の2つの方法があります。

  • 外部サーバーでのWeb認証
  • 外部ネームサーバーでのDNS認証

エックスサーバーマニュアル:無料独自SSLを事前に設定する

外部サーバーでのWeb認証

外部サーバーでのWeb認証」を選択すると以下が表示されます。

この例のサイトの場合、2つのトークンのダウンロードボタンが表示されたので、それぞれをクリックしてダウンロードします。

移行元サーバーにトークンファイルを設置

ダウンロードしたトークンファイルを、「設置URL」に記述されているURLで参照できるように移行元サーバーに設置(アップロード)します。

具体的には、http://xxxxxx.com/.well-known/acme-challenge/というディレクトリを作成し、そこにトークンファイルを設置します。

.well-known ディレクトリはそのサイトの public_html などの直下に作成し、その中に acme-challenge というディレクトリを作成します。

移行元で Let’s Encrypt を使った SSL を設定している場合は、すでに「.well-known」というディレクトリは作成されているかも知れません。

2つのトークンファイルを記載されている設置URL(www があるかないかでディレクトリ自体は同じ)で参照できるようにアップロードして設置します。

以下はトークンファイルを設置した移行元(この例では inMotion Hosting)のファイルマネージャーでの acme-challenge ディレクトリのスクリーンショットです。

「確認画面へ進む」ボタンをクリックし、内容を確認して「追加する」をクリックします。

しばらく認証中の画面が表示され、以下の画面が表示されれば、SSL の設定は完了です。

外部ネームサーバーでのDNS認証

「外部サーバーでのWeb認証」がうまくいかない場合は、外部ネームサーバーでのDNS認証を利用することができます。

「外部ネームサーバーでのDNS認証」を選択すると、登録するDNSレコードが表示されるので、移行元でDNSレコードを追加します。

移行元サーバーにDNSレコードを追加

移行元のコントロールパネルなどでDNSレコードを追加します。

以下は inMotion Hosting の cPanel の Zone Editor の例です。

+ Add Record をクリックして TXT レコードを追加します。

ホスト名(Name)と内容(Record)、TTL を入力し、レコードを追加します。

この例の場合、2つの TXT レコードが表示されていたので、2つのレコードを追加します。

DNSレコード追加後、「確認画面へ進む」をクリックし「追加する」をクリックするとしばらく認証中の画面が表示されます。

※DNSレコード追加後、反映されまでに時間がかかるかも知れません。今回の場合は数分後には追加することができました。

以下の画面が表示されれば、SSL の設定は完了です。

後はサイトを構築し、動作確認やメールアカウントの設定などを必要に応じて行い、切り替えをすることになります。