在本地生成 Cloudflare DNS 证书申请、安装命令与 Nginx 证书配置。
服务器需已安装 acme.sh 并配置 Cloudflare DNS。在同一 Shell 中依次执行步骤 1–4;重载命令适用于由 systemd 管理的 Nginx。
1 · Cloudflare Token
只读模板,export 前保留一个空格。请在终端中填入 Token 后再执行。
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.pem生成 DH 参数(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 -t检查并重载 Nginx(systemd)
nginx -t && systemctl reload nginx