Let’s Encryptでサーバ証明書を作成

h2oでHTTP/2通信を行うために、サーバ証明書が必要です。
Let’s Encrypt で無料のサーバ証明書を作成しておきます。
https://certbot.eff.org
ここの説明どおりにやればできました。
git コマンドが必要なので事前に入れておきましょう。
python も必要ですが、Amazon EC2 の AmazonLinux であれば、最初から入っているので安心です。
発表当初は「letsencrypt-auto」というコマンドでしたが、最近「certbot-auto」に名前が変わっています。

※2020年12月で certbot-auto のサポートは終了したので、こちらの記事を参照ください。


適当なディレクトリで以下のコマンドを実行します。

もしくはgitでcloneしてもいけます。

この「certbot-auto」を実行すると、初回に必要なパッケージなど取ってきてくれます。

証明書を作成するために、pythonが仮想環境を作り出してhttp通信を行います。
そのため、すでにapahceやnginx、h2oなどウェブサーバが動いているようなら一時的に停止しておきます。
certbot-autoコマンドで証明書を作成します。

サブコマンドは以下のものが使えます。

また、サーバープラグインを指定します。

デフォルトのサブコマンドは「run」で、apacheやnginxだと、インストールと設定までやってくれるようですが、今回はh2oを入れる予定なので「certonly」にしました。
サーバープラグインは「–webroot」で指定しました。
ちなみに証明書を更新するときのサブコマンドは「renew」です。
他に以下の指定をしました。

うまくいくと、/etc/letsencrypt/live/example.com/ 以下に証明書や鍵ができます。
実体は /etc/letsencrypt/archive/example.com/ 以下に作成され、更新するとここに履歴として溜まっていきます。そして最新のものがliveの中にリンクされるようです。

ウェブサーバを止めていた場合は再開します。
ここで作成した証明書の有効期限は3か月なので、注意が必要です。
これまで何度も失効してしまいました。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

PAGE TOP