カメニッキ

カメとインコと釣りの人です

カメノシャシン(http://kame.photos)をhttp2対応して、証明書自動更新のとこまでやった

URL

https://kame.photos/

情報

  • apache2.4 -> nginx1.9.9
  • php5.6 -> php7.0.2
  • http -> https(Let's Encryptでとってみた)

参考にしたURL

tapira.hatenablog.com

qiita.com

Let's Encrypt サーバー証明書の取得と自動更新設定メモ
blog.apar.jp

証明書取得

/usr/local/src/letsencrypt/letsencrypt-auto certonly --webroot -w /etc/nginx/html -d kame.photos -m yasuaki.tahira@gmail.com --agree-tos --debug

**ちなみに、以下のように作成される

証明書
/etc/letsencrypt/live/kame.photos/cert.pem

証明書+中間CA証明書
/etc/letsencrypt/live/kame.photos/fullchain.pem

秘密鍵
/etc/letsencrypt/live/kame.photos/privkey.pem

中間CA証明書
/etc/letsencrypt/live/kame.photos/chain.pem

nginx.confで使用するのは fullchain.pemprivkey.pem なので

        ssl_certificate      /etc/letsencrypt/live/kame.photos/fullchain.pem;
        ssl_certificate_key  /etc/letsencrypt/live/kame.photos/privkey.pem;

のように設定する。

自動更新

00 05 01 * * /usr/local/src/letsencrypt/letsencrypt-auto certonly --webroot -w /hoge/fuga/nginx/html/kame -d kame.photos --renew-by-default --agree-tos && /etc/sbin/nginx -s reload

(追記)ちなみに、認証方法

ドメインのメールアドレスに対して、認証メールがくる従来の方法ではなく、以下の流れのようです

  1. -w で指定したドキュメントルートに対して、letsencryptクライアントが一時ファイルを生成
  2. 以下のように認証サーバから FQDN/.well-known/acme-challenge/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX へアクセスし、所有者であることを確認
66.133.XXX.XXX - - [11/Jan/2016:18:34:31 +0900] "GET /.well-known/acme-challenge/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX HTTP/1.1" 200 118 "-" "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"

GoogleAnalyticsなんかと一緒なのかな

感想

簡単すぎてビビった