CDNとしてCloudflareを利用している環境で、Let's Encrypt の証明書を更新した際のメモ。 証明書を取得した際にはCloudflareは利用していなかった。 前提 すでにSSL証明書を取得済み Nginx Cloudflare Ubuntu 16.04 LTS 新規の取得ではなく、既存証明書の更新作業。Cloudflare のCDNを一時的に無効化するのはなんか負けた気がするので認証方法を変更する。 通常の認証方式ではなく、DNSのtxtレコードを利用するDNS-01方式を使う。 Let's Encrypt のサーバーに証明書の発行を依頼すると、一時的に有効なトークン文字列が送られてくるので、これをDNSのtxtレコードに記載するという方式。 Webサーバーがなくても利用できるし、今回のようなCDN環境やNAT利用時にも証明書の取得・更新が可能。 DNSの設定変更は面倒