コンテンツにスキップ

暗号化しましょう

LetsEncryptは、ユーザーに無料のSSL / TLS証明書を提供するサービスです。 Certbotは、これを簡単に実行および自動化できるクライアントです。また、ApacheとNginx用のプラグインがあり、証明書の生成の自動化をさらに簡単にします。

ほとんどのLinuxディストリビューションのインストール手順は、CertbotのWebサイトにあります。

<figcaption class=暗号化しましょう"幅=" 832 "高さ=" 451 "/>暗号化しましょう

パッケージがインストールされると、新しい証明書を生成する準備が整います。

Apache

CertbotとApacheプラグインをインストールした後、証明書の生成は次のコマンドで行われます。

certbot certonly --apache --noninteractive --agree-tos --email YOUR_EMAIL -d DOMAIN_NAME

「SSLCertificateFile」および「SSLCertificateKeyFile」セクションを更新してから、サービスを再起動します。

証明書が自動的に更新されるように、ジョブをcronに追加します。

echo "0 0 * * * root certbot renew --quiet --no-self-upgrade --post-hook $0027systemctl reload apache2$0027" | sudo tee -a /etc/cron.d/renew_certbot

HAProxy

HAProxyには現在Certbotプラグインがありません。これを回避するには、Certbotをスタンドアロンモードで実行し、ネットワークを介してトラフィックをプロキシします。

上記の構成でフロントエンドとバックエンドを有効にしてから、Certbotを実行します。

certbot certonly --standalone --preferred-challenges http-01 --http-01-port 8888 --noninteractive --agree-tos --email YOUR_EMAIL -d DOMAIN_NAME

ポートは任意に変更できますが、HAProxy設定とCertbotコマンドが一致していることを確認してください。

HAProxyは、正しく読み取るために、証明書と連結されたキーファイルを同じファイルに含める必要があります。これは、次のコマンドで実行できます。

cat /etc/letsencrypt/live/domain_name/fullchain.pem /etc/letsencrypt/live/domain_name/privkey.pem

bind *:443と設定のリダイレクトセクションを分解し、サービスをリロードします。

証明書の自動更新

次のスクリプトを/ usr / local / bin /に配置して、SSL証明書を自動的に更新します。

SITE = DOMAIN_NAME#は、ディレクトリを暗号化する正しいファイルに渡しますcd / etc / letsencrypt / live / $SITIO# catファイルは、haproxycat fullchain.pem privkey.pem> /etc/ssl/$SITIO.pem1TPxer reloadの.pem

スクリプトが実行可能であることを確認してください。

chmod u + x /usr/local/bin/letsencrypt-renew.sh

証明書が自動的に更新されるように、ジョブをcronに追加します。

@mensual / usr / bin / certbot renew --renew-hook "/usr/local/bin/letsencrypt-renew.sh"; /var/log/letsencrypt-renewal.log

Nginx

CertbotとNginxプラグインをsudo apt install certbot python3-certbot-nginxでインストールした後、証明書を生成します。

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email YOUR_EMAIL -d YOUR_DOMAIN

代わりに4096ビットの鍵が必要な場合は、パラメーター--rsa-key-size 4096を追加します。

上記のNginxサンプル構成ファイル全体をコピーして貼り付け、構成に応じてパラメーターを変更し、行のコメントを外します。

証明書が自動的に更新されるように、ジョブをcronに追加します。

echo "0 0 * * * root certbot renew --quiet --no-self-upgrade --post-hook $0027systemctl reload nginx$0027" | sudo tee -a /etc/cron.d/renew_certbot

ja日本語