Let’s Encryptのワイルドカード証明書で確認環境をHTTPSにする

鍵

TimeCrowdではGitHubを利用して、プルリクエストベースで開発を行なっています。
プルリクエストの作成時に確認環境のURL(ブランチ名がサブドメイン)が発行されて、手元に開発環境がないディレクターさんやテスターさんでも、簡単にテストができるようになっています。

さて、この環境ですが今まではいわゆる「オレオレ証明書」を使っていたため、iOSからの接続など少し不便なことがありました。

お馴染みの警告画面も表示されてしまっています…。

HTTPSエラー画面

そんな中、先日Let’s Encryptのワイルドカード対応が正式にリリースされたので乗り換えてみることにしました。

Certbotのインストール

$ wget https://dl.eff.org/certbot-auto
$ chmod a+x certbot-auto

証明書の発行

$ sudo /path/to/certbot-auto certonly --manual -d *.example.com -m admin@example.com --agree-tos --manual-public-ip-logging-ok --preferred-challenges dns-01 --server https://acme-v02.api.letsencrypt.org/directory --debug

このコマンドを実行すると、DNSに登録する内容が表示されるので、TXTレコードに設定します。
DNSの設定が反映されるまでエンターキーを押さないように注意してください。再実行したら値がまた変わるため、再度DNSを設定することになります。(なりました…)

これで、/etc/letsencrypt/live/example.com/配下に証明書が保存されるので、後はこれをHTTPサーバに設定すればOKです。

HTTPS警告なし
警告が出なくなりました!

3ヶ月後に更新する必要があるのですが、自動更新にはDNS認証のための一手間必要になりそうなため、今回は単純な導入のみに留めることにしました。
警告のないHTTPSにすることで確認作業が改善したため、手動更新の手間を考えても導入してよかったと思います。

TimeCrowdに戻る