Webの経路も暗号化がデフォルトになりつつある今日この頃です。
確かに安全なネット閲覧には必須ですよね。
iPhoneからのアクセスもhttps以外は接続できなくなりそうでした。
でもいざ設定しようと思っても、ベリサインなどこの手のサービスはべらぼうに高いですよね。
個人ではなかなか手が出せる額ではありません。

時は来た!?

有難い事に無料でSSL証明書を発行してくれる所があったんです。

Let’s Encrypt

おかげでサイトをhttpsで暗号化接続できそうです。

早速設定してみたので、Let’s EncryptのSSL証明書 と Nginx (+ Apache) + WordPressで設定した事を忘備録として残してみます。

とりあえずNginx <-> Apacheでリバースプロシキの設定は済んでいる状態で、WordPressも動いています。
httpのアクセスはhttpsへリダイレクトの設定はまだしないでおきます。

参考にさせて頂いたサイトです

そのまま使わせて頂いているコードもあります。
ありがとうございます。

まずはさくらのナレッジを参考にしてUbuntuに設定します

nginxは設定済みだったので「certbot-auto のセットアップと証明書の自動生成」というところから始めます。
詳しくはさくらのナレッジのサイトを確認してもらうとして、打ち込んだコマンドだけを。

NginxのSSL設定

ここまでの設定でphpのファイルは読み込みできたのですが、cssなどの設定が反映されません。
反映するには・・・

WordPressの設定

wp-config.phpに追記が必要です。

HTTP_X_FORWARDED_PROTOを使ってNginxが受けたのはhttpかhttps かを後ろのサービスに伝えます。

ここまでで、Webはhttpsでのアクセスで通常と同じように表示されるようになりました。

証明書の自動更新設定

Let’s Encrypt の証明書は有効期限が3ヶ月と短いため、定期的な更新作業が必要になります。

有効期限の確認

$ sudo openssl x509 -in /etc/letsencrypt/live/[URL]/cert.pem -noout -dates

有効期限の更新

(情報によると証明書の更新は5回/7日、つまり1週間に5回まででしょうか。)

$ sudo certbot-auto renew –force-renew –post-hook “service nginx reload”

参考にさせて頂いたサイト、そしてLet’s Encryptという素晴らしいサービスのお陰もあり思ったより簡単に設定することが出来ました。
ありがとうございます。

こういうブログもありました。

人気のあるブログ: