プログラム関係の備忘録。技術系記事1000記事以上を目指すブログ

Let’s EncryptでSSL化 nginx編

  • 2019年11月21日
  • 2021年3月11日
  • Linux
  • 700view
  • 1件

apache編は以前書いてあります。詳しくはこちら↓

準備

リポジトリ追加とインストール

sudo apt-add-repository -r ppa:certbot/certbot
sudo apt update
sudo apt install python-certbot-nginx

// 追記:phython2はサポート終了のため以下を実行
sudo apt install python3-certbot-nginx

ドメインに certbot を設定

sudo certbot --nginx -d domainname

nginxのコンフファイルに以下を追加

server {
  listen 80;
  server_name aaa.example.com;
  return 301 https://$host$request_uri;
}

server {
  listen 443;
  server_name aaa.example.com;

  ssl on;
  ssl_certificate /etc/letsencrypt/live/aaa.example.com/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/live/aaa.example.com/privkey.pem;
  ...省略...
}

証明書を更新

有効期限が90日なので定期的に更新が必要です。
手動で更新する場合には以下のようにnginxを一旦停止して進めます。

sudo service nginx stop
sudo letsencrypt renew
sudo service nginx start

更新を自動化

自動化については以前の以下記事を参照してください