acme申请证书
安装acme工具
curl https://get.acme.sh | sh
source ~/.bashrc
acme.sh --register-account -m EMAIL ADDRESS
更换根证书:
acme.sh --set-default-ca --server zerossl
申请证书
HTTP
acme.sh --issue -d {DOMAIN} --webroot /data/wwwroot/{DOMAIN}
DNS方式验证
acme.sh --issue --dns dns_cf -d {DOMAIN}
acme.sh --issue --dns dns_he -d {DOMAIn} --keylength ec-256
acme.sh --issue --dns dns_dp -d {DOMAIN}
acme.sh --issue --dns dns_gd -d {DOMAIN}
安装证书
copy证书并指定nginx reload命令
acme.sh --installcert -d {DOMAIN} \
--key-file /usr/local/nginx/conf/ssl/{KEY} \
--fullchain-file /usr/local/nginx/conf/ssl/{CER} \
--reloadcmd "/usr/local/nginx/sbin/nginx -s reload"
生成 dhparam.pem 文件
openssl dhparam -out /usr/local/nginx/conf/ssl/dhparam.pem 2048
配置nginx
server {
listen 443 ssl http2 default_server;
listen [::]:443 ssl http2 default_server;
server_name {DOMAIN}
ssl_certificate /usr/local/nginx/conf/ssl/{CER};
ssl_certificate_key /usr/local/nginx/conf/ssl/{KEY}
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_dhparam /usr/local/nginx/conf/ssl/dhparam.pem;
...
}
自动续约
acme安装的时候就会自动添加crond计划任务来处理续约,当然也是可以手动来renew的。
acme添加的crond
[root@VM-4-16-centos acme]# crontab -l
27 0 * * * "/root/.acme.sh"/acme.sh --cron --home "/root/.acme.sh" > /dev/null
手动renew
acme.sh --cron -f
设置acme自动更新
acme.sh --upgrade --auto-upgrade