2026年8月16日

2026年8月16日

certbotでNginx用のSSL証明書を設定する方法

はじめに

この記事では、Nginxサーバー向けのSSL証明書を自動生成・管理するためのツールであるCertbotを使用し、その設定方法について解説します。HTTPS化は Websites にとって重要なセキュリティ対策であり、ユーザーからの信頼とプライバシー保護にも貢献します。

症状・背景

Certbot を使用することで、Nginx バーチャルホストに SSL 証明書を自動的に取得し、更新することが可能になります。これにより、サーバー管理者は証明書の期限切れや再発行作業から解放され、より重要な業務に集中することができます。

手順・設定方法

ステップ1: Certbot インストール

Certbot は、Let's Encrypt 提供の無料 SSL 証明書を使用してウェブサーバー向けに SSL 証明書を自動生成・管理するツールです。まずは Certbot をインストールします。

# Debian/Ubuntu ベースのシステムの場合
sudo apt update
sudo apt install certbot python3-certbot-nginx

# CentOS/RHEL ベースのシステムの場合
sudo yum install epel-release
sudo yum install certbot python2-certbot-nginx

ステップ2: SSL 証明書取得と設定

Certbot は Let's Encrypt 提供の無料 SSL 証明書を使用します。Nginx バーチャルホストに対して SSL 証明書を取得するため、以下のコマンドを実行します。

# Nginx 用の証明書を取得するコマンド
sudo certbot --nginx -d example.com -d www.example.com

# クエスチョンマークで質問への回答を自動化
sudo certbot --nginx --agree-tos --no-eff-email -d example.com -d www.example.com

ステップ3: Nginx 設定ファイル更新

Certbot は取得した SSL 証明書を自動的に Nginx の設定ファイルに反映します。必要であれば手動で確認・調整を行います。

# Nginx 設定ファイルの確認
sudo nano /etc/nginx/sites-available/example.com.conf

# 必要な設定項目(HTTPS 用の listen ディレクティブや SSL 鍵ファイル/証明書ファイルへのパス)を確認・調整

ステップ4: 実践/トラブルシュート/監視

Certbot は自動で SSL 証明書を更新します。証明書の有効期限が切れる前に更新されるように設定されているため、管理者は定期的にサーバーの状態を確認する必要があります。

# certbot の更新スケジュールを確認・調整
sudo certbot renew --dry-run

注意事項

  • セキュリティ上の注意: 本番環境では Let's Encrypt 提供の無料証明書を使用することを推奨します。ただし、レート制限や期限切れには十分対応する必要があります。
  • パフォーマンス/運用上の注意: SSL 証明書の取得・更新は定期的に行うことが重要です。Certbot の自動化機能を利用するためには、適切なコマンドラインオプションを指定すること。

まとめ

1. Certbot インストール: Nginx 用の Certbot をインストールします。

2. SSL 証明書取得: Let's Encrypt 提供の無料 SSL 証明書を取得し、Nginx の設定ファイルに反映します。

3. 定期的な更新: SSL 証明書の有効期限が切れる前に自動で更新されるように設定します。

関連記事:

お気軽にご相談ください

お見積りへ お問い合わせへ