概要
WebサーバーでのHTTPS通信を実現するためにLet’s Encryptの証明書の取得方法を記します。
WebサーバーでのHTTPS通信を実現するには、Webサーバーの公開鍵証明書 (証明書) と秘密鍵を用意する必要があります。秘密鍵は自分で用意できるとしても、公開鍵証明書は第三者の認証局 (CA: Certificate Authority) に発行してもらう必要があります。一般的には、証明書の発行は有料であるため、ネックでした。
これを回避するために、自己署名証明書という自分で発行した証明書を開発環境で使うことがあります。ただ、当然ながら自分で発行している以上信頼性に乏しく、自己署名証明書で運用されているWebサイトは、Webブラウザーが警告を出します。そのため、本番環境での運用には使えません。
こういう事情もあり、WebサイトのHTTPS化はなかなかやっかいな問題でした。
そんな中、2015年頃からHTTPSによる安全なWebを普及させるためにLet’s Encryptという無償で証明書を発行するプロジェクトが始まりました。
Let’s Encryptを使うことで個人でもお金をかけずに証明書を発行でき、WebサイトのHTTPSを低コストで実現できます。そこで、Let’s Encryptでの証明書の発行方法を調べて成功したので手順を記します。
条件
Let’s Encryptによる証明書の発行はACMEというプロトコルに沿って実施されます。基本的にはACME対応クライアントソフトを使ったコマンド実行で行います。
その他、「Challenge Types – Let’s Encrypt – Free SSL/TLS Certificates」に書かれている通り、Let’s Encryptのサーバーから通信を行います。
そこで、以下の2点が前提として必要になります。
これを念頭においておきます。
導入
ACMEクライアントとして、公式で推奨されているCertbotを使用します。
まず、
詳細プロフィール。SNS: X Twitter/GS=gnusocialjp@gnusocial.jp/WP=gnusocialjp@web.gnusocial.jp。2022-07-17からgnusocial.jpとweb.gnusocial.jpのサイトを運営しています。WordPressで分散SNSに参加しています。このアカウントの投稿に返信すると、サイトのコメント欄にも反映されます。
Comments