Cloudflare DNS の証明書コマンドと Nginx の証明書設定をローカルで生成します。
acme.sh をインストールし、Cloudflare DNS を設定したサーバーの同じシェルで、手順 1〜4 を順に実行してください。再読み込みコマンドは systemd 管理の Nginx を想定しています。
1 · Cloudflare トークン
読み取り専用テンプレートです。export の前に空白を 1 つ保持します。実行前にターミナルでトークンを入力してください。
export CF_Token=""2 · 証明書の発行
acme.sh --issue \
--dns dns_cf \
-d example.com \
--keylength ec-2563 · ディレクトリの作成
mkdir -p /etc/nginx/ssl/example.com4 · 証明書のインストール
acme.sh --install-cert -d example.com --ecc \
--key-file /etc/nginx/ssl/example.com/privkey.pem \
--fullchain-file /etc/nginx/ssl/example.com/fullchain.pem \
--reloadcmd "systemctl reload nginx"Nginx 証明書設定
ssl_certificate /etc/nginx/ssl/example.com/fullchain.pem;
ssl_certificate_key /etc/nginx/ssl/example.com/privkey.pem;よく使うパスとコマンド
証明書のパスは入力に連動します。一般的な Linux パスはインストール方法で異なります。必要な権限でサーバー上で実行してください。
任意:DH パラメーターは DHE 暗号用で、ECDHE には不要です。ファイル生成後に ssl_dhparam を設定してください。生成には時間がかかる場合があります。既存ファイルはスキップします。
秘密鍵ファイル
/etc/nginx/ssl/example.com/privkey.pem証明書と中間証明書チェーン
/etc/nginx/ssl/example.com/fullchain.pemDH パラメーターファイル
/etc/nginx/ssl/dhparam.pemDH パラメーターを生成(2048 ビット)
mkdir -p /etc/nginx/ssl/ && if [ ! -e /etc/nginx/ssl/dhparam.pem ]; then
openssl dhparam -out /etc/nginx/ssl/dhparam.pem 2048
fiNginx DH パラメーター設定
ssl_dhparam /etc/nginx/ssl/dhparam.pem;証明書の主体・発行者・有効期間を確認
openssl x509 -in /etc/nginx/ssl/example.com/fullchain.pem -noout -subject -issuer -dates証明書が 30 日以内に期限切れになるか確認
openssl x509 -in /etc/nginx/ssl/example.com/fullchain.pem -noout -checkend 2592000Nginx メイン設定(一般的なパス)
/etc/nginx/nginx.confacme.sh 作業ディレクトリ(既定)
~/.acme.sh/Nginx 設定を検証
nginx -tNginx を検証して再読み込み(systemd)
nginx -t && systemctl reload nginx関連 · 開発
近いツールを続けて使う
同じ作業の流れで使いやすいツールへの近道です。