- 2016-02-24 (Wed) 15:34
- ソフトウェア ( Linux/coLinux )
SSL 使うためにサーバ証明書が欲しいので,Public Beta になった Let’s Encrypt を使ってみた.
とりあえずGetting Started にあるように,証明を取りたいサーバの上で git を使って手元にスクリプト一式を持ってきて動かす:
git clone https://github.com/letsencrypt/letsencrypt cd letsencrypt ./letsencrypt-auto --help
すると必要な物が勝手にインストールされて準備完了(内部で sudo でも使ってるのかね.事前に sudo 使ってたのでよく分からず).
あとは初回の証明取得を指示通りのコマンド1行で証明取得できる.例えば証明を取りたいサーバの FQDN が www.example.com だとしたら -d の後にそれを書いてスクリプト実行:
./letsencrypt-auto certonly --standalone -d www.example.com
なお,外部からこのサーバの https (443) のポートにアクセスできないといけないらしい.最初 80 だけ開けてたけどダメで,80を閉じて 443 を開けたら OK だった(verbose オプションを付けてスクリプトの動きを追ったら https 使ってた).でも 80 を Listen している apache とか居るとコケるので apache とかを停めておく必要がある.ひょっとすると 80 と 443 とどっちを使うのかは環境依存だったりするのかもしれない.
そして証明の期限が90日と短いので,cron を使って毎月自動更新とかしておくと安全な気がする.更新は letsencrypt renew でできるけれど期限の残りに関係なく強制的に更新するには --force-renewal を付ける.更新したら SSL を使う連中を起動し直す必要があるので,面倒だからサーバごと再起動する設定:
15 4 1 * * /path/to/letsencrypt/letsencrypt-auto renew --force-renew && reboot
- Newer: Meadow で Ispell