essay | tech | note | year-summary | about
日期:2026-04-06T14:38:23+08:00
首先用root账号(推荐)
acme.sh --issue --nginx -d aya.roxbook.click
Zone → DNS → Edit
Zone → Zone → Read
都需要!!
创建 / 删除 TXT 记录
_acme-challenge.example.com
查询 zone 信息(比如 zone_id)
配置文件(注意:只需要CF Token)
~/.acme.sh/account.conf
#CF_Account_ID='xxxx'
CF_Token ='xxx'
测试Cloudflare API
curl -s https://api.cloudflare.com/client/v4/accounts \
-H "Authorization: Bearer $CF_Token" | jq
dns验证请求证书
acme.sh --issue -d '*.candy.com' --dns dns_cf
~/.acme.sh/acme.sh --list
~/.acme.sh/acme.sh --info -d example.com
openssl x509 -in /etc/ssl/example.crt -noout -dates
nginx -T | grep ssl_certificate
a.com.cer ← 服务器证书(leaf cert)
a.com.key ← 私钥(private key)
ca.cer ← 中间证书(intermediate CA)
fullchain.cer ← 完整链(cert + CA)
acme.sh --install-cert -d example.com \
--key-file /etc/ssl/example.key \
--fullchain-file /etc/ssl/example.crt \
--reloadcmd "systemctl reload nginx"
→ 只要你用过一次 --install-cert
→ 之后每次自动续期都会“覆盖写入”到 /etc/ssl/example.*
配置会记录到
~/.acme.sh/example.com.conf
cron会触发
~/.acme.sh/acme.sh --cron
acme.sh --deactivate -d example.com
# 1. 查看
acme.sh --list
# 2. 删除 acme.sh 管理
acme.sh --remove -d example.com --ecc
# 3. 删除文件
rm /etc/ssl/example.*
# 4. 修改 nginx
# 5. 检查
nginx -t
# 6. reload
systemctl reload nginx
ssl_dhparam是什么?
Diffie-Hellman 参数(用于密钥交换的安全参数)
👉 现代环境基本“可以不配”
现在主流是 ECDHE(椭圆曲线)
→ 不使用 dhparam
ssl_protocols
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;