サイトをSSL化した

無職が暇な雨の日にすることと言えばサイトのSSL化です。 Let’s Encryptという無料でSSL化を推進する素晴らしいサービスがあります。有職者の皆さんはぜひDonateしましょう。 さて、このブログはろくに更新しないくせに無駄にnginxでリバースプロキシ組んでいるのでいささか不安がありましたがなんとかできました。理解せずに手探りで実装して忘却を繰り返して徐々にブラックボックス化していく気がします。SSL化についてはQiitaとかを見てやればできるはず。 Let’s Encrypt で Nginx にSSLを設定する(Qiita) 問題はWordPress側の設定変更ですね。WordPressの管理画面のサイトURLをhttpsに修正すれば万事OKだと思ってたんですが、今度は管理画面でリダイレクトの無限ループが発生したので、ここを参照してwp-config.phpに以下の記述を追加します。

$_SERVER['HTTPS'] = 'on';
$_ENV['HTTPS'] = 'on';

うまく行ったかな?と思いきや今度は管理画面からログインすると「このページにアクセスする権限がありません」という表示が出ます。無職だからでしょうか。 色々調べた結果、wp-config.phpに上記のHTTPS設定を記述する際にwp-settings.phpがロードされる前にぶっこまないといけなかったっぽかったです。ログインもできました。 ここでページ内にhttpリンクが残っていると保護された通信という緑色の安心表示が出ないのでそれらも修正しておきます。Let’s Encryptは90日ごとに更新が必要なのでcronで自動更新設定も忘れずに。