nginx + wordpress環境にLet’s Encryptで無償SSLを導入してみました。

無償でSSL証明書がゲットできるという破壊的プロダクトであるLet’s Encryptがオープンβになったので、このブログにも導入してみました。

Let’s Encrypt

特徴
・コマンド一発でインストールしてくれて、面倒くさい手続きが不要
・複数ドメインを一気に更新できる
・ワイルドカードSSLは使えない
・登録時にWebサーバのポートが空いてる必要がある。
(Webサーバがない場合は、専用のwebserverで受けてくれるし、すでに入ってるサーバなら既存のサーバを使って受けられる。
・証明書の期限が90日なので、原則として自動更新が前提。
(cronで定期的に証明書を更新して、webサーバをリロードすればいい)

apacheの方が簡単のようですが、サーバはnginxなので、軽く設定を追加してあげる必要がある。
以下の記事を参考にさせていただいて入れました。

Let’s Encrypt サーバー証明書の取得と自動更新設定メモ

Let’s EncryptとnginxでHTTP/2サーバを立てる

あとは細かい設定はこれを見よう。

nginx実践入門 (WEB+DB PRESS plus)

nginx実践入門 (WEB+DB PRESS plus)

  • 作者:久保 達彦,道井 俊介
  • 出版社:技術評論社
  • 発売日: 2016-01-16

このブログ、まだ記事内画像URL等においてhttpで記述されているものが多すぎて、なんというか中途半端で公開しちゃってます。本サーバ配下のリソースは、サーバ側でリダイレクトしているので無駄なことをしていますが、さくっと入れ替えるとこうなるんですよ、という、ご参考までに。

そういえばメールサーバの方をSSL化したいのが本番だったんだ。

みんな気になってるのは、じゃぁ、これって仕事で使えるようになるのっていつなの?って話だと思うのだけど、とりあえずWordPressのSEO目的のようなものだったら、さくっとできると思います。本記事公開時点で、まだβだから自己責任がまかり通る範囲でね。

Webサービスの場合は、丁度、AWSの方に、同じくSSL無償化&ELB配下なら自動更新のソリューションがUSリージョンからリリースされましたが、まだ東京リージョンには来てない。

それだったらとLet’s Entryptの方で試しにShopCard.meのELB配下で試してみようかなと思ってやってみたらAmazon Linuxだと、まださくっとはインストールできなさそうですねぇ。

Install fails on Amazon Linux

デバッグモードフラグをつけて実行せよと出てきたので、一先ずやめておいたw

あと、周りとこの事で雑談してた時に、80番portを開けないといけないからELBだと難しいんじゃないか?という話があったけど、必要なのはドメインの実在性確認なので、ELBの下にwebサーバ一台なら問題ないと思う。問題はWebサーバ複数台で負荷分散してる時に実在性確認用のテンポラリデータにどうやってアクセスさせるかという部分。更新を自動化しないといけないからねぇ。nfsでdocument root以下は共有化するなんてやりたくないしね。

【PR】ご意見、感想などは是非、mstdn.fmのローカルタイムラインでお聞かせください