使用Let's Encrypt生成SSL通配符证书并通过CloudFlare验证自动更新

《使用Let's Encrypt生成SSL通配符证书并通过CloudFlare验证自动更新》

安装certbot

# yum install -y certbot

为Certbot安装CloudFlare插件

# yum install -y python3-cloudflare python3-certbot-dns-cloudflare
# yum install -y python2-cloudflare python2-certbot-dns-cloudflare

如果您正在使用其他DNS服务,则可以使用以下yum search命令找到相应的插件

# yum search python3-certbot-dns

配置Certbot

//首先运行不带任何参数的certbot命令来创建初始配置文件
# certbot

获取CloudFlare API

//访问:https://cloudflare.com
//博主的域名解释服务是由cloudflare.com提供的
//接下来在/etc/letsencrypt目录中创建一个包含CloudFlare电子邮件和API密钥的配置文件
# vi /etc/letsencrypt/cloudflareapi.ini
dns_cloudflare_email = your-email@mail.com
dns_cloudflare_api_key = xxxx
# chmod 600 /etc/letsencrypt/cloudflareapi.ini

获取证书

# certbot certonly \
 --cert-name yourhost.cn \
 --dns-cloudflare \
 --dns-cloudflare-credentials /etc/letsencrypt/cloudflareapi.ini \
 --server https://acme-v02.api.letsencrypt.org/directory \
 -d "yourhost.cn" \
 -d "*.yourhost.cn"

// --dns-cloudflare-credentials 指定配置的cloudflare文件

查看生成的证书

# ls /etc/letsencrypt/archive/yourhost.cn/
cert1.pem  - Apache服务器端证书
chain1.pem  - Apache根证书和中继证书
fullchain1.pem  - Nginx所需要ssl_certificate文件
privkey1.pem - 安全证书KEY文件

查看证书有效期

# openssl x509 -in /etc/letsencrypt/archive/yourhost.cn/fullchain1.pem -noout -text
=============================================== 
Data:
        Version: 3 (0x2)
        Serial Number:
            03:3d:71:eb:0b:97:f6:1a:22:4f:ac:xx:c6:a2:7e:xx:af:7f
    Signature Algorithm: sha256WithRSAEncryption
        Issuer: C=US, O=Let's Encrypt, CN=Let's Encrypt Authority X3
        Validity
            Not Before: Oct  2 12:11:59 2018 GMT   起
            Not After : Dec 31 12:11:59 2018 GMT   结
        Subject: CN=*.yourhost.cn
===============================================

自动更新

# crontab -e
31 5 * * * certbot renew

删除证书

//删除证书
吊销证书(或用于其他证书管理任务)后,可以使用delete子命令从系统中删除证书的所有相关文件
# certbot delete \   //(删除标识)
	--cert-name example.com
如果您没有使用delete删除证书,那么它将在下一次续订事件时自动续签
点赞

发表评论

邮箱地址不会被公开。 必填项已用*标注