以下の内容はhttps://thoames.hatenadiary.jp/entry/2025/07/11/122255より取得しました。


【Nginx】Let's Encryptの導入

以前は有料のSSLを試したが、今回は無料のLet's Encryptを試してみる
thoames.hatenadiary.jp

前提

・ドメインは取得済み
・ドメインのDNSとサーバIPが既に設定済
・CNAMEにwwwを設定済み

まずはcertbotのインストール

$ sudo apt install certbot

Let's Encrypt側がドメインの所有者であるか(?)を確認するために、ACMEチャレンジを行いそれに問題なければ証明書が発行されるという仕組みみたい。
以下のようにNginxの設定を行い、ACMEチャレンジ用のディレクトリを作り、コマンドを叩く。

server {
  listen 80;
  server_name  test.dev;

  location /.well-known/acme-challenge {
    root   /usr/share/nginx/html;
    index  index.html index.htm;
  }
}
$ sudo service nginx restart
$ mkdir -m 755 -p /usr/share/nginx/html/.well-known/acme-challenge
$ certbot certonly --webroot -w /usr/share/nginx/html -d test.dev -d www.test.dev -m sample@test.dev --agree-tos -n

上記コマンドオプションの詳細は以下のサイトで確認
Nginx + Let's Encryptでサクッと証明書登録とhttps化 #Docker - Qiita

  • dでドメインを指定し、-mでメールアドレスを指定している。
  • dをwwwなしとwwwありでそれぞれ設定することで、1枚の証明書を異なるドメイン・サブドメイン名で使用することが可能。

Let’s Encrypt SSL証明書をサブドメインも合わせて取得する - hi3103の備忘録

以下コマンドでワイルドカード証明書にすることも可能。
この場合は生成後に表示されるTXTレコードをDNSに別途設定する必要がある。

$ certbot certonly --webroot -w /usr/share/nginx/html -d *.example.com -m sample@example.com --agree-tos -n

Let's Encryptの無料SSL証明書でhttps化しよう #nginx - Qiita

3ヶ月ごとに証明書更新が必要になるが、certbotが自動でやってくれるとのこと。
以下のコマンドを叩いて、certbot.timerが動いていればOKとのことだが、

$ systemctl status certbot.timer

更新後?のタイミングでNginxの再起動が必要だそう。
以下のサイトを参考に証明書更新時に自動でNginxが再起動されるようにしておく。
Let's Encryptの無料SSL証明書を自動更新しつつNginxで運用する

[その他参考]
【エンジニア向け】Let’s Encrypt + Certbotで無料SSL完全ガイド:仕組み・導入・裏側の流れまで #Let’sEncrypt - Qiita
Nginx + Let's Encryptでサクッと証明書登録とhttps化 #Docker - Qiita

作成したドメインを失効させるコマンド

参考までに。

$ sudo certbot revoke --cert-path /etc/letsencrypt/archive/test.dev/cert1.pem

証明書の有効期限を確認するコマンド

$ sudo certbot certificates



以上の内容はhttps://thoames.hatenadiary.jp/entry/2025/07/11/122255より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14