admin に投稿
Rocky Linux

🔗Let's Encrypt

無料で利用できる認証局です。
有効期限が切れる前に、更新する必要がある。
注) 証明書の更新で、80ポートのリッスンが必要。

インストール

# dnf install certbot
# certbot certonly --webroot -w /usr/share/nginx/html/drupal/cms/web -d www.hayate-lab.net
# reboot


nginx confファイル

server {
  root /usr/share/nginx/html/drupal/cms/web;
  <省略>
  listen 80;
  listen 443 ssl;
  server_name www.hayate-lab.net;
  ssl_certificate /etc/letsencrypt/live/www.hayate-lab.net/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/live/www.hayate-lab.net/privkey.pem;
  location / {
    <以下省略>
  }
}

 

自動更新

# systemctl enable --now certbot-renew.timer

# nano /etc/sysconfig/certbot
POST_HOOK="--post-hook 'systemctl restart nginx'"
# nano /lib/systemd/system/certbot.service
[Unit]
Description=Certbot
Documentation=file:///usr/share/doc/python-certbot-doc/html/index.html
Documentation=https://certbot.eff.org/docs
[Service]
Type=oneshot
ExecStart=/usr/bin/certbot -q renew --no-random-sleep-on-renew --post-hook "systemctl reload nginx"
PrivateTmp=true


 
開発用認証局

サーバ上に仮のroot認証局を作成します。
あくまでも開発用認証局です。本番環境での使用は厳禁です。


🔗mkcert


インストール

$ sudo dnf install nss-tools
$ curl -JLO "https://dl.filippo.io/mkcert/latest?for=linux/amd64"
$ chmod +x mkcert-v*-linux-amd64
$ sudo cp mkcert-v*-linux-amd64 /usr/local/bin/mkcert

 

root認証局
$ mkcert -install
$ mkcert -CAROOT
$ cp ~/.local/share/mkcert/rootCA.pem ./

 

サーバ証明書
$ mkcert nuxt.local "*.nuxt.local" localhost 127.0.0.1 ::1
$ sudo cp ./nuxt.local+4.pem /etc/ssl/certs/nuxt.local.pem
$ sudo cp ./nuxt.local+4-key.pem /etc/ssl/certs/nuxt.local-key.pem

nginx confファイル

server {
  <省略>
  listen 443 ssl;
  ssl_certificate /etc/ssl/certs/nuxt.local.pem;
  ssl_certificate_key /etc/ssl/certs/nuxt.local-key.pem;

  location /{
   <以下省略>
  }
}

 

クライアントPCのChromeにroot認証局を登録する
🔗winSCPで、rootCA.pemをWindows11デスクトップにコピー。
rootCA.pemをrootCA.pem.crtにリネーム。

Image
Chrome


 ダブルクリックして、Chromeに登録。

 

 

Chrome設定

/設定/プライバシーとセキュリティ/セキュリティ/証明書の管理/
Windowsからインポートした証明書を管理する

Image
Chrome


次へ

「参照ボタン(R)...」をクリックして、rootCA.pem

 

Image
Chrome

 

次へ

信頼されたルート証明機関に「mkcert ・・・・」が確認できるはず。

Image
Chrome