挡着在我们面前的是巨大庞然的人生,阻隔在我们中间的是广阔无际的时间,对于他们,我们无能为力⋯⋯ 收藏本站
登陆 / 注册 搜索

USERCENTER


查看:257   回复: 3

[# 网络安全] 获取 Certbot/Let's Encrypt 泛域名证书, 并自动续期

[复制链接]
发新帖
跳转到指定楼层
楼主
小执念古黑浩劫论坛大牛 发表于 2019-8-23 14:25:03 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

可遇不可求的事:故乡的云,上古的玉,随手的诗,十九岁的你。

官网 https://certbot.eff.org/ 官网上有相关教程, 但是都是英文.....今天做个记录吧, 方便自己以后查看.

我的服务器环境是 Centos7 + Nginx , DNS 服务商是 Cloudflare . 如果你的情况和我不一样, 请去官网看教程.

一. 前提准备

要获取 Certbot 的泛域名证书, 只能用 DNS 验证的方法. 简单来说就是给域名添加一条 txt 记录, 但这个证书有效期是 90 天, 所以我们需要自动化续期, 自动添加域名解析.

目前官网上支持下图中的 DNS 服务商自动更新, 地址 https://certbot.eff.org/docs/using.html#manual

 TIM截图20190823120454.png 获取 Certbot/Let's Encrypt 泛域名证书, 并自动续期

如果你是其他 DNS 服务商, 那你可能要另寻他法了. 比如这个 https://github.com/ywdblog/certbot-letencrypt-wildcardcertificates-alydns-au 有阿里云和腾讯云的, 因为我域名 DNS 是 cloudflare , 所以阿里云和腾讯云我就没办法测试了.

二. 安装必要的软件

1. 启用 EPEL 储存库
  1. yum install -y epel-release
  2. yum clean all
  3. yum makecache
复制代码

2. 启用可选通道
  1. yum -y install yum-utils
  2. yum-config-manager --enable rhui-REGION-rhel-server-extras rhui-REGION-rhel-server-optional
复制代码

3. 安装 Certbot
  1. yum -y install certbot python2-certbot-nginx
复制代码

4. 安装 DNS 插件 (命令后面的 cloudflare 换成你的 DNS 服务商)
  1. yum install python2-certbot-dns-cloudflare
复制代码

三. 配置 DNS 插件

cloudflare 账户 获取 api key , 然后写入一个文件, 如 cf.ini
 TIM截图20190823124645.png 获取 Certbot/Let's Encrypt 泛域名证书, 并自动续期

  1. # Cloudflare API credentials used by Certbot
  2. dns_cloudflare_email = [email protected]
  3. dns_cloudflare_api_key = 0123456789abcdef0123456789abcdef01234567
复制代码

/etc/nginx/ssl/cf.ini //是刚才的配置文件地址.
--dns-cloudflare-propagation-seconds 60 // 等待 60 秒, 等 DNS 解析生效.

配置好之后, 就可以申请泛域名证书了!

运行命令:
  1. certbot certonly \
  2.   --dns-cloudflare \
  3.   --dns-cloudflare-credentials /etc/nginx/ssl/cf.ini \
  4.   --dns-cloudflare-propagation-seconds 60 \
  5.   -d *.guhei.net
复制代码
 TIM截图20190823132713.png 获取 Certbot/Let's Encrypt 泛域名证书, 并自动续期
成功获取了泛域名证书

四. 自动续订

自动续订也很简单, 运行
  1. certbot renew
复制代码
最后就是 nginx 重新载入配置文件
  1. nginx -s reload
复制代码

创建日志文件
  1. touch /var/log/certbot.log
复制代码

添加到定时任务, 每月 1号 1时 1分 , 执行一次自动续订的命令
每月 1 号 1时 3分 ,  nginx 重新载入配置文件
  1. 1  1  1 * * /usr/bin/certbot renew > /var/log/certbot.log 2>&1
  2. 3  1  1 * * /usr/sbin/nginx -s reload > /var/log/certbot.log 2>&1
复制代码

来自 3#
楼主| 小执念古黑浩劫论坛大牛 发表于 2019-8-23 14:37:14 | 只看该作者
 TIM截图20190823150606.png 获取 Certbot/Let's Encrypt 泛域名证书, 并自动续期

冰阳莲花「初入古黑」 发表于 2019-8-23 14:30:03 | 只看该作者
佩服佩服!
空谷幽兰仗剑天涯 发表于 2019-8-23 15:56:03 来自手机 | 只看该作者
膜拜大佬
您需要登录后才可以回帖 登录 | 立即注册  

本版积分规则

关于本站|小黑屋|Archiver|古黑论

GMT+8, 2019-10-18 13:54 , Processed in 0.028003 second(s), 29 queries , Gzip On, Redis On.

© 2015-2019 GuHei.Net

Powered by Discuz! X3.4

快速回复 返回列表