2019年5月6日月曜日

Let's Encrypt Cheetsheet

Let's Encryptについて、検索エンジンでなかなか欲しい部分の情報がヒットしなくて時間が掛かったので、私が使っている最低限の機能だけまとめておきます。

インストール

sudo apt install letsencrypt

最初の登録

HTTPサーバが既に動いている場合は--webroot、動いてない場合は--standaloneで証明書を取得できます。 以下のコマンドでは連絡用アドレスの入力と利用規約への同意を求められますが、コメント欄を追加すれば回避する事もできます。
sudo certbot certonly \
  --standalone -w /path/to/webroot \
  -d hoge.com
  # --agree-tos -m email@example.com

サブドメインの拡張

先にDNSを拡張しておかないとエラーが出るので注意。 DNSはホスト名に追加したいサブドメインを書いて、以下のように編集すればOK。優先度は適当に。

ホスト名タイプコンテンツ優先度
jp.hoge.comCNAMEhoge.com
(もしくは別サーバのホスト名)
-

Let's Encrypt側の設定は--expandを指定した後に追加したいサブドメインを -dで追加していくだけ。 普通はサブドメインの追加程度でサービスを止める事はないと思うので、--webrootオプションを指定した場合を書いています。
sudo certbot certonly --expand \
  --webroot -w /path/to/webroot \
  -d hoge.com \
  -d jp.hoge.com \
ワイルドカード証明書を登録するという手段もあるけど、証明書の自動更新がしにくくなるので私はサブドメインをチマチマ追加しています。


cronで自動更新

/etc/cron.d/certbot などに設定ファイルを作る。以下は毎週日曜の12/24時に更新する例。
0 */12 * * 0 root /usr/bin/certbot renew --post-hook "sudo /etc/init.d/httpd restart"
自動更新でハマりやすいポイントとしては、期限切れになった時は renew では駄目というところ。証明書を1から作り直す必要があります。 私がやってしまった時は、このサイトの解説のように以下のファイルを削除してから再発行しないと駄目でした。
/etc/letsencrypt/live/
/etc/letsencrypt/archive/
/etc/letsencrypt/renewal/


最近、検索エンジンでわかりやすいサイトがヒットしにくい…。

0 件のコメント: