エックスサーバーではLet’s Encryptを利用した独自SSLが無料で提供されています(全サーバープランで独自SSLが無料・無制限に利用可能に!「独自SSL」機能の強化のお知らせ | エックスサーバー)。このサービスを使ってサイトをSSL化します。
SSL化するとURLの表示が http:// から https:// に変わります。
手順
- サーバーパネルにログインする
- 設定対象ドメインを選択(選択しないで次に進むとドメインの一覧が表示されそこで選択することになる。)
- 「ドメイン」メニューの「SSL設定」をクリック
- 「独自SSL設定の追加」タブをクリック
- 設定するサイトを選択
サブドメインを設定している場合はサブドメインごとに選択できるようです。
(「CSR情報(SSL証明書申請情報)を入力する」というチェックボックスがあるが,無料独自SSLは省略可ということなので省略) - 「独自SSL設定を追加する(確定)」ボタンをクリック
- 「SSL設定の一覧」タブをクリックして,設定したドメインが一覧に表示されていることを確認する
- .htaccessでhttpsへの転送を設定
httpでアクセスがあった場合にhttpsに転送するようにします。
.htaccessファイルに以下の記述を追加
RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
SSL化の設定をしてからそれが反映されるまでには最大1時間程度かかるそうです。(このサイトの場合は40分後くらいに確認したら反映されていました。)
反映されるまでにサイトにアクセスしようとすると
「安全な接続ではありません」(Firefoxの例)といったエラーが表示されます。