PR

Let’s Encryptで証明書を取得してみた

サーバ

こんにちは、納戸工房です!
今回は、ウェブサーバの証明書を取得するために、Let’s Encryptを利用してみた体験をお話しします。実は10年ほど前にも同じくLet’s Encryptを使っていたのですが、当時と比べて環境が変わり、少し工夫が必要になりました。


10年前の記録を振り返って

10年前、初めてウェブサーバを立てたときに、Let’s Encryptを使って証明書を取得していました。当時の記録に残っていたコマンドは以下のものです:

docker run -it --rm -p 443:443 -p 80:80 --name certbot quay.io/letsencrypt/letsencrypt:latest certonly --standalone -d {ドメイン名}

このコマンドを使うと、Dockerコンテナ内でCertbotを動かし、簡単に証明書を取得できていました。しかし、時代の流れとともにこの方法には問題が生じることに…。


コマンドが動かない!

久々に記録を頼りにこのコマンドを実行してみると、docker imageが5年以上更新されていないことが判明しました。そのため、現在の環境ではうまく動作しなかったのです。


新しい方法を試してみる

Let’s Encryptの証明書を取得するために重要なのはCertbotを使えること。そこで、別のDockerコンテナを立ち上げてCertbotをインストールし、以下のコマンドを実行しました:

certbot certonly --standalone -d {ドメイン名}

結果、これで無事に証明書を取得することができました!


証明書をウェブサーバに適用

コマンドの実行後、/etc/letsencryptディレクトリに証明書と秘密鍵が生成されます。このディレクトリの中身をウェブサーバにコピーし、ウェブサーバの設定ファイルで参照するようにします。

これで証明書の適用が完了し、https接続が可能になりました。


まとめ

Let’s Encryptは無料で使える非常に便利なツールですが、古い方法では環境の変化に対応できないこともあるため、最新の手段を模索する必要があります。今回学んだポイントは次の通り:

  1. 古いDockerイメージの使用に注意
    • 今回は5年以上更新されていないイメージが原因で問題が発生しました。
  2. Certbotは柔軟に利用可能
    • Docker環境が整っていれば、他のコンテナを利用してCertbotを動かすことができます。
  3. 証明書の配置と参照設定が必要
    • 生成された証明書を適切にウェブサーバに適用することで、https化が完了します。

無料で信頼性の高い証明書を提供してくれるLet’s Encrypt、ぜひ活用してみてください!最後まで読んでいただき、ありがとうございました✨

コメント

タイトルとURLをコピーしました