常時SSL化するときにやることまとめ

今やSSLしていないサイトはアドレスバーに暗号化されていませんというメッセージが表示されてしまうため、常時SSL化が絶必ですね。

先日、SSL化していないサイトをエックスサーバーに移転するタイミングで常時SSL化を実行しました。

Xserver

エックスサーバーでは無料独自SSLの他、GeoTrustのようなSSLブランドのSSLが導入可能です。

今回は無料独自SSL(Let's Encrypt)を導入しました。

エックスサーバーではドメインのDNSがエックスサーバーに向いていなくてもSSL設定ができるようになりました。

エックスサーバーでドメイン・SSL設定

まずはエックスサーバーでドメインの設定とSSLの設定をします。設定はサーバーパネルのドメイン設定から行います。

他社サーバーで運用中のドメインをエックスサーバーで無料独自SSLを利用するにチェックを入れた状態で設定すると以下のようなメッセージが表示されます。

まだドメインのネームサーバーをエックスサーバーのネームサーバーになっていないからですが、今はこのままにしておきます。

エックスサーバーのDNS

ネームサーバー1 ns1.xserver.jp( 219.94.200.246 )
ネームサーバー2 ns2.xserver.jp( 210.188.201.246 )
ネームサーバー3 ns3.xserver.jp( 219.94.200.247 )
ネームサーバー4 ns4.xserver.jp( 219.94.203.247 )
ネームサーバー5 ns5.xserver.jp( 210.188.201.247 )

そうすると、無料独自SSLの設定に失敗した旨のメッセージが表示されます。

他社サーバーで運用中のドメインのSSL設定を完了させるためには一手間設定が必要です。

設定ファイルをダウンロードして現在のサーバーに設置して認証する方法と、ドメインのDNSレコードを追加する方法があります。

外部サーバーでのWeb認証

ダウンロードボタンからトークンファイルをダウンロードします。wwwあり、なし用2つのファイルがあります。

設置URLに書かれている通りのディレクトリを作成して、そのトークンファイルをアップロードするのです。

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

もう一つはネームサーバーでDNSレコードを追加する方法です。こちらはドメインのDNSレコードを編集できる環境が必要です。

「トークン設置URLにアクセスできませんでした。」
「トークンのDNSレコードが見つかりませんでした。」

とエラーが出る場合

ファイルが正しく設定できているのに、また正しくDNSレコードを追加しているのにエラーになる場合は一旦時間を置いて確認してみます。

https://www.xserver.ne.jp/manual/man_server_ssl.php

それでもエラーになる場合は、一旦エックスサーバーへ移行完了してからSSL設定をした方が良いでしょう。

ネームサーバー変更後、SSL設定できるまで2〜3時間かかりました

今回、他社レンタルサーバーからエックスサーバーへ切り替えの際、SSL設定はネームサーバー切り替え後に行いました。

ネームサーバーを切り替えてもすぐにSSL設定ができるわけでなく、ある程度DNSが浸透してからでないと設定できません。(前述のようなエックスサーバー指定のネームサーバーになっていませんとエラーが出ます)

今回の場合は2〜3時間程度時間をあけたのち、SSL設定ができるようになりました。

httpへのアクセスをhttpsへリダイレクト設定する(301リダイレクト)

httpのアクセスをhttpsへリダイレクトするために.htaccessを編集します。この場合は恒久的なリダイレクトとなる301リダイレクトです。

RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

サイトのURLをhttps://〜に変更する

サイトのコンテンツにあるURLもhttp://〜の絶対パスで記載さている場合は全てhttps://〜に変更します。

特に画像やCSS,Javascriptなどの外部ファイルのリンクがhttpのままだと不完全なSSL化になってしまうので注意が必要です。

WordPressでのURL変更

WordPressを利用している場合は「設定」>「一般」から

・WordPress アドレス (URL)
・サイトアドレス (URL)

をhttpsから始まるアドレスに変更します。

Search ConsoleやGoogle AnalyticsなどのURLを変更する

Search Consoleでhttpsのプロパティを追加します。wwwあり,wwwなしの両方を追加します。

またGoogle Analyticsを利用している場合はプロパティ設定でURLをhttpsに変更します。

サイトマップを再生成してGoogleに送信する

httpsに変更したサイトマップ(sitemap.xml)を再作成してSearch Consoleで送信します。

ひとまずこれで常時SSL化に伴う作業は完了です。

Googleインデックスは数日でhttpsのURLに変更されていました。