Let’s encryptのSSL証明書をCertbotを使って、Nginxに設定する方法
Nginxで各種ドメインを設定して、
Webサーバーを管理していく中で、
SSL証明書を設定しようとしたときに、
無料のLet’s Encryptから証明書を取得して、
設定しようとする方法が、
個人的にはよくやる方法です。
この方法に関しては、
各種コマンドなど、
忘れたりするので、
概要も含めて、
メモを残します。
「Let’s Encrypt」と「SSL証明書」
Let’s Encryptは、
- 無料でSSL証明書を提供するオープンソースの認証局(CA)
です。
SSL証明書は、
ウェブサイトのセキュリティを強化し、
ユーザーのデータを保護するために使用されます。
有料のSSL証明書もありますが、
中小企業や個人ブログ運営者などにとっては、
予算的なことや、敷居が高いという点がネックになることがあります。
しかし、
Let’s Encryptは、
無料で手軽に取得できることから、
広く使われるようになっていますので、
1度、試してみると良いでしょう。
「Certbot」とは
Certbotは、
オープンソースで無料のSSL証明書を自動的に取得するためのツールです。
SSL証明書を使って、
ウェブサイトのセキュリティを強化するために使用しますが、
Certbotを活用することで、
Webサーバーの設定と通信を自動化することで、
証明書の発行と更新を簡単に行うことができます。
ちなみに、
Certbotは、LinuxとmacOSで使用でき、
多くのWebサーバーに対応しているため、
Apache、Nginx、Google Cloud Platformなどの、
クラウド上のサーバーで使うことができるので、
よく使われているWebサーバーの環境であれば、
問題なく、各環境で使うことができます。
Certbotの大きなポイントは、
- コマンドラインを使用してインストール、設定、更新することができる
という点です。
初心者でも簡単に使用できるので、
Certbotのインストールと設定などについて、
最新情報に関しては、
公式ウェブサイトのドキュメンテーションを、
参照することをお勧めします。
「Let’s encrypt」と「Certbot」
Let’s Encryptは、非営利団体であり、
大手テクノロジ企業やファウンデーションから、
支援を受けているSSL証明書発行機関です。
Certbotは、
Let’s Encryptのクライアントであり、
自動的に証明書を生成するためのコマンドラインツールです。
簡単に言えば、
- 「Let’s Encrypt」はSSL証明書を管理している組織
- 「Certbot」は「Let’s encrypt」のSSL証明書を使うためのツール
という感じで、
Let’s Encryptは証明書を発行する機関であり、
Certbotは証明書を自動的にインストールするための、
クライアントであるという関係になります。
Let’s encryptのSSL証明書をCertbotを使って、Nginxに設定を試してみる
サーバーOSのバージョン
サーバーに関しては、
Ubuntuを使用しているので、
lsb_release -a
のコマンドで、
バージョンを確認します。
確認すると、
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 20.04.3 LTS
Release: 20.04
Codename: focal
このバージョンを使っていることがわかります。
Nginxのバージョン
Nginxに関しても、
使用している環境のバージョンについては、
nginx -v
のコマンドで、
バージョンを確認してみると、
$ nginx -v
nginx version: nginx/1.21.4
というバージョンであることがわかりました。
Certbotのインストール
まずは、
SSL証明書を設定するためのツールとして、
Certbotをインストールします。
各環境への導入コマンドに関しては、
こちらのサイトで、
このように、
OSとミドルウェアを自分の環境に合わせることで、
自分の導入したい環境にあった、
Certbotの導入コマンドが確認できます。
CertbotをNginxに設定するためのコマンド
Certbotを自分自身のドメインに設定する上で、
パラメータとして使う値としては、
- Webサーバーが「Nginx」
- 設定したい先の「ドメイン名」
の2つを使用します。
コマンドとしては、
sudo certbot --nginx -d ドメイン名
というコマンドになるので、
例えば、
ドメイン名が「sample.com」だとすると、
sudo certbot --nginx -d sample.com
というコマンドになります。
こちらを実行することで、
sample.comに関して、
こちらの証明書の状況が、
このように変われば、
うまく設定ができています。
関連記事
今回のように、
Ubuntu+Nignxに対して、
Let’s encryptをCertbotを使って、
SSL証明書を設定することは多いですが、
The requested nginx plugin does not appear to be installed
が起きた時の対応は、
以下の記事にメモしておいたので、
必要であれば参照ください。
Let’s Encrypt(Certbot)でエラー「The requested nginx plugin does not appear to be installed」が発生した件
スキルを使って、就職/転職/副業する時のサイト
プログラミングのスキルなどを、自分なりに高めた上で、
自分のスキルをアピールして就職や転職を行い、年収をあげるか、
副業という形で、年収にプラスアルファの稼ぎを増やすことはできます。
まずはできる範囲で取り組むことで、
少しずつ、経験値も増え、自分のスキルが収入につながるのでおすすめです。