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;