サーバ

Let’s Encryptでブログを常時HTTPS化

HTTPSはサーバとブラウザ間の通信を暗号化する仕組み。HTTPSが使われているとコンテンツが途中の経路で改ざんされていなこと、それから目的のサーバに接続していることが保証されます。

イマドキ、サイトを立ち上げるのであれば常にHTTPSで接続できるように設定すべきです。HTTPSで接続できるように設定するには、そのドメインの持ち主であることの「証明書」(certificate)を取得する必要があります。「証明書」は認証局と呼ばれる業者から購入することが多いですが、完全セルフサービスで無料で発行してもらえる仕組みは以前からありました。そして2016年4月にはLet’s Encryptというサービスが開始され、無料かつ、更新の手続きなども自動化できるようになりました。今自分の会社のシステムでは一部でLet’s Encryptを、一部でKing SSLという格安の証明書を使っています。

Let’s Encryptはリリース当初試したとき、Linuxではそこそこの手順が必要、Macは非サポートかつちょっとでも古いOSではユーティリティがビルドできない状態でした。2017年現在、ぐっと簡単になっていました。

ちょっと調べてみたらそのものズバリGoogle CloudにデプロイしたWordPressをLet’s Encryptで常時HTTPS化する方法の記事が出てきました

SSL Certificate Setup for WordPress on Google Cloud (Click-to-Deploy) – One Page Zen

英語だけど、もうまんまなので日本語で解説する必要もないと思う。作業の順序は以下の通り。解説は上記のリンク先を見て、分かんないことがもしあったら質問してください。

1. SSHで接続する

2. Gitをインストール

3. CertBotクライアントをインストール

CertBotはLet’s Encryptサービス開始当初はたぶんなかった、証明書取得、更新の手続きを簡単にやってくれるツール。

4. 証明書の生成

5. 自動更新の設定

6. 証明書の設定

7. HTTPSリダイレクトの設定

HTTPで接続した際、https:// にリダイレクトします

8. Apacheの再起動

9. WordPressのURLをhttps://に設定

10. パーマリンク構造の変更

これ、なんで推奨してるのかわかんなかった。SEOの一環としてhttps化するならURLにもタイトルの一部が入る方が良いってことかな?日本語のURLは面倒が起きそうという感覚がいまだあるので本サイトでは年月日とポストの連番をURLにしてます。

 

というわけでhttps://yusuke.blog/で本サイトにアクセスできるようになりました。

証明書はSafariではURLバーの鍵マークをOptionキーを押しながらクリックすると確認できます。

ChromeではURLバーの「保護された通信」というラベルをクリックして確認できます。