スポンサーリンク

ConoHaVPSで公開しているWordPressをSSLに対応させました

Server

どーも、まるほいです。タイトルは当ブログの話です。本日、SSLに対応させました👍 

認証には無料で利用出来る『Let’s Encrypt』を利用しました。

Let's Encrypt
Let's Encrypt is a free, automated, and open certificate authority brought to you by the nonprofit Internet Security Research Group (ISRG). Read all about our n...

今回のSSL対応は、過去のミスを活かし、調査と作業の時間は別にする、調査した事はまとめておくという事を意識しながらやったんですが、それでも何箇所か詰まりました。

ですが、調査でまとめた内容は普通に役立ったので、詰まった内容を補完した物と共にブログ用に編集して公開しておこうと思います。参考になったら幸いです。

サーバー(ConoHa VPS)の環境は、CentOS+Apache+MySQL(LAMP)って感じです。ConoHa、WordPress専用のテンプレートとかあるみたいですけど、試せてないですね。

レンタルサーバーならConoHa|登録者数75万アカウント突破
ConoHaではブログ・ホームページに最適なレンタルサーバー、VPS(仮想専用サーバー)、ゲーム用マルチサーバーなど用途に合わせて様々なサーバーを提供しています。

サイトのSSL対応作業方針

SSLや認証局の事をざっくり把握する

5分でわかる正しい Web サイト常時 SSL 化のための基礎知識
Web サイトを常時 SSL 化する場合に、最低限知っておかなければならない知識や、注意点、実際の設定方法まで、ひと通りまとめてみました。メリットやデメリット、証明書の種別からリダイレクト設定などについても解説しています。
Let’s EncryptのSSL証明書で、安全なウェブサイトを公開 | さくらのナレッジ
安全なウェブサイトを公開するため、無料で利用可能な Let's Encrypt の証明書を使う方法をご紹介します。Let's Encrypt の背景とSSL証明書の自動発行をはじめ、CentOS 7 上の Nginx ウ

iptablesでport443を許可する

忘れていて詰まった。あるあるらしい。

SSL接続(HTTPS)をやろうとしてはまっている人はiptablesを確認しよう - Qiita
SSLの設定で自分が2日間はまったので、次来る人がすぐに気づいてくれるようにメモを残しておきます。私の開発環境は、GMOのグローバルサインでSSL証明書や秘密鍵を発行し、EC2インスタンスにRai…

WordPressのバックアップ

以下を参考にする。

BackWPUpで確実にWordPressのバックアップを取る方法
あらゆるリスクに備えてデータのバックアップは不可欠だ。バックアップさえできていれば万が一データが消えてしまっても、また復元できるからだ。次の2つを叶えるバックアップができればかなり心強いだろう。 定期的に自動でバックアップが取

Let’s Encryptを利用する

環境構築などを自動でやってくれる『certbot』を利用する。

Certbot
Tagline

公式ドキュメントでも良いんですが、以下がとても参考になりました。

301 Moved Permanently
cronの設定ですが、自分は毎週って感じにしました。

ssl.confにSSLの設定を記述する

Firefoxなどで知られるmozillaが提供する、Webサーバー毎にSSL/TLS推奨設定を生成するサイトを利用する。

Redirecting to ssl-config.mozilla.org...
認証ファイルのpathとかまでコピーしない様に。

HSTS Preloadに登録する

ssl.confに上記の推奨の設定を書くと有効化される。以下を参考にする。

HSTS (HTTP Strict Transport Security) の導入 - Qiita
HTTPで接続した際に、強制的にHTTPSへリダイレクトし、以降のそのドメインへの接続はすべてHTTPSとする機能がHSTS (HTTP Strict Transport Security) である。RFC679…
HSTS preloadを導入しよう - ヲレサイト
httpd.confやssl.confを編集して反映させる時はWeb鯖の再起動をやっておく。再起動後に独自ドメイン前にhttps://を付けてアクセス出来たら成功。

ssl対応確認のテストをする

以下のサイトに独自ドメインを入力してテストしてみる。

SSL Server Test (Powered by Qualys SSL Labs)
A comprehensive free SSL test for your public web servers.

わーい。

.htacessでリダイレクト(301)させる

以下を参考にする。具体的には

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://sample.com/$1 [R=301,L]
</IFModule>
#BEGIN WordPress
(中略)
#END WordPress
.htaccessでhttpからhttpsへ301リダイレクト | WEB担当者の備忘録
2014年8月7日にGoogleがHttpsをSEOの評価項目にすると発表しました。 Google ウェブマスター向け公式ブログ: HTTPS をランキング シグナルに使用します このため、httpからhttpsへの変更を考えているWEB担

 

WordPress周り

一般設定でのサイトリンクの変更、内部リンクを置換、Googleアナリティクス、Google Search Consoleの対応、サイトマップの更新、ロゴやfaviconの再設定、プラグイン別のSSL対応、テーマ別のSSL対応など、やる事がたくさんある。既にまとめているサイトが複数あるので参考にして必要な情報だけメモしておき、順に作業する。

WordPressをhttpからhttpsにSSL化した全手順まとめ(エックスサーバー環境)
エックスサーバーが独自SSLを無料かつ無制限で利用できるようになりました。 この、エックスサーバーの「ユーザー…
ウェブサイトをhttpからhttpsに変更する手順 (SSL化) | iSchool合同会社
この記事では、ウェブサイトをhttpからhttpsに変更する手順 (SSL化) について詳しくお伝えします。 サイトをHTTPS化すると次のようなメリットがあります。 盗聴・なりすましといった通信の改ざんを防止できるので、サイトのセキュリテ

今後の課題

という訳で、作業した内容はチェックを付けたり「OK」とか書いて対応を終わらせました。まとめるのには今話題の『Boostnote』を利用したんですが、Markdownでメモしながらコードも合わせてメモ出来るので、調査した物をまとめておくのにはもってこいでした。今後も使いそうです。

http://b00st.io/

SSL対応は無事に終わったのですが、いくつか課題が残りました。

メディア挿入でURLから挿入した画像が「http://」になっている記事は「mix content」になるので、一部の記事がSSLに完全対応出来ていません。また、Steamのストアページをwidgetで表示させている記事ではiframeが無効化されるために非表示になっています。

該当記事

8月のSquadアップデートでロジスティックシステムや分隊専用車両機能が追加へ
先日、車両追加を含むアップデートが7月中に予告されていたSquadですが、なんだかんだで8月にずれ込んだ様で、「Version 7」という形でトレイラーも公開されています。 RPGのブラストの演出が最高、後ろに居たらダメージを負うというのが...
SteamのGreenlightにあるゲームをオススメする時に使える公式widgetの使い方
EarlyAccess作品をオススメしたい時に、公式サイトと合わせてGreenlightのページを紹介したい時に利用出来るWidgetです。iframeを利用します。 【追記】 ブログサイトをhttpsにしたため、iframeが非表示となっ...

これらには手動で対応する必要がありそうでちょっと困ってます。それに、iframe非表示はデフォルトになるので今後はSteamのWidgetも利用出来なくなりますし、プロフィールに表示させていたsteam signatureは「http://」で始まる画像を使っているので消すしかありませんでした。代替を探したり調査する必要があります。個人的にはiframe使いたいんですが、そのために該当記事だけ「http://」にリダイレクトさせるのはアレなのでどうにかしたい所です。