Let's Encryptで無料SSL証明書を取得・導入・自動更新する方法【完全ガイド】
Let's Encryptで無料SSL証明書を取得・更新する方法
本記事では、WebサイトをHTTPS化するために必要な無料SSL証明書をLet's Encryptで取得・導入・自動更新する方法について、初心者にもわかりやすく解説します。1時間で読み終わる内容で、Webエンジニアが知っておくべき基本と実践を網羅しています。
1. Let's Encryptとは?
2. 利用のメリット
3. 証明書の種類
Let's Encryptで取得できる証明書はDV(Domain Validation)のみです。
4. 前提条件
5. Certbotのインストール
# Ubuntu/Debian系
sudo apt update
sudo apt install certbot python3-certbot-nginx
6. SSL証明書の取得
# Nginx用(自動で設定ファイルも編集)
sudo certbot --nginx -d example.com -d www.example.com
Apacheの場合は --apache フラグを使用。
7. 証明書のファイルパス
/etc/letsencrypt/live/yourdomain.com/fullchain.pem(証明書本体)/etc/letsencrypt/live/yourdomain.com/privkey.pem(秘密鍵)
8. Nginx設定例
server {
listen 443 ssl;
server_name example.com;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
location / {
proxy_pass http://localhost:3000;
}
}
9. 自動更新の設定
Certbotはcronまたはsystemd timerで自動更新されます。
# 手動で更新チェック
sudo certbot renew --dry-run
10. HTTP→HTTPSリダイレクト
server {
listen 80;
server_name example.com;
return 301 https://$host$request_uri;
}
11. 証明書の期限と更新
- Let's Encryptの証明書は有効期限が90日
- 自動更新スクリプトがあれば更新忘れを防止可能