FreeBSD 技術メモ

nginxのwordpressサイトを常時SSL化する方法【FreeBSD】

key

 

Googleさんが常時SSLサイトの優先度を上げるって言ってたのと、Let'sEncryptという無料のSSL証明書があるってことだったので、このブログを完全無料で常時SSL化しました。
忘れる前にメモっておきます。

 

概要

このサイトはnginxでHTTPを受けて、サーバ内のWEB用JAILに振りわけています。
なので今回はHTTPを受けているnginxにSSL証明書をインストールし、諸々設定していきましょー。

let's Encryptのインストール

でEnterしてインストールできます。簡単。pkg最高。

証明書取得の準備

http://www.example.com/というドメインの証明書を取得する場合、まずは対象ドメインのserverディレクティブに下記を追記してservice nginx restart。

なにしてるかってーと、http://www.example.com/.well-known/っていうURLにアクセスがきたら、ドキュメントルートを/usr/local/www/nginxにする。
なので、前もって/usr/local/www/nginxを作成しておく。

証明書の取得

おもむろに下記実行。

webrootを選択して適当にメールアドレス入れてOK。
成功したら/usr/local/etc/letsencrypt/live/下にドメイン名のディレクトリができています。

証明書をnginxに設定

HTTPS用のserverディレクティブを追加します。僕のはこんな感じ。

んでおきまりのservice nginx restart。

これにて証明書の取得+インストール完了。

 

wordpressの常時SSL化

忘れちゃいけないwordpress側のSSL設定。
癖が強すぎて色々イカンことになっているwordpressさんの設定は本当にめんどくさい。wordpressやめたい。はぁ・・・あ、逸れた。

テーマファイルの編集

今使っているテーマファイルを編集して、javascriptやSNSボタンなどで「http://」から始まるリンクを全て「https://」に書き換え。grepしてviで置換すればおk。ただ対象の画像とかリンク先が「https://」にしてもアクセスできるかは確認。

サイト設定のURL変更

wordpress管理画面の「設定」→「一般」からサイトURLを「http://」から「https://」に変更。

記事に埋め込んだURL書き換え

これ一番めんどいんだろうな。
僕はですね、vhostでprepend.phpを読み込むようにしていてですね、その中にcallback関数書いたのでちょーよゆーでした。

 

はい、これにてしゅーりょー。

次は自動更新しないとだなぁ

-FreeBSD, 技術メモ