CentOS6/7 老版本 更新根证书信任解决Let’s Encrypt证书过期问题
# 安装更新
yum -y update ca-certificates
# 检查证书是否还存在
trust list | grep -C3 'DST Root CA X3'
grep -i 'DST Root' /etc/pki/tls/certs/ca-bundle.crt
# 更新系统ca信息
update-ca-trust
安装
curl -k https://cdn.jsdelivr.net/gh/acmesh-official/acme.sh@master/acme.sh | sh -s -- --install-online -m xxx@xxx.com
添加阿里云API Key and Secret
export Ali_Key="xxxxx"
export Ali_Secret="xxxxxx"
创建证书
acme.sh --issue --dns dns_ali -d xxxx.cn -d *.xxxx.cn --server letsencrypt
查看证书
acme.sh --list
安装证书 CentOS7
mkdir -p /etc/nginx/ssl/
acme.sh --install-cert -d xxxx.cn \
--key-file /etc/nginx/ssl/xxxx.cn.key \
--fullchain-file /etc/nginx/ssl/xxxx.cn.crt \
--reloadcmd "systemctl reload nginx"
或者
acme.sh --install-cert -d xxxx.cn \
--key-file /etc/nginx/ssl/xxxx.cn.key \
--fullchain-file /etc/nginx/ssl/xxxx.cn.crt \
--reloadcmd "/usr/sbin/nginx -s reload"
安装证书 CentOS6
acme.sh --install-cert -d xxxx.cn \
--key-file /etc/nginx/ssl/xxxx.cn.key \
--fullchain-file /etc/nginx/ssl/xxxx.cn.crt \
--reloadcmd "service nginx reload"
查看证书续期任务
acme.sh --cron
移除域名(某些情况下申请错误的)
acme.sh --remove -d xxxx.cn
rm -rf ~/.acme.sh/xxxx.cn_ecc
关于自动续期
# 查看acme定时任务是否存在
crontab -l
13 3 * * * "/root/.acme.sh"/acme.sh --cron --home "/root/.acme.sh" > /dev/null
# 如不存在则 安装定时任务
acme.sh --install-cronjob
第一次需要手动修改Nginx中的证书路径
ssl_certificate /etc/nginx/ssl/xxxx.cn.crt;
ssl_certificate_key /etc/nginx/ssl/xxxx.cn.key;