烦恼这东西,是只有活着的人,才有的特权哦。 收藏本站
登陆 / 注册 搜索

阅读:8.5K   回复: 3

获取 Certbot/Let's Encrypt 泛域名证书, 并自动续期

原创 [复制链接]
小执念 古黑浩劫论坛大牛 2019-8-23 14:25 |显示全部楼层

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

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

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

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

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

👩‍✈️‎🥼📞🤖👂


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

如果你是其他 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
获取 Certbot/Let's Encrypt 泛域名证书, 并自动续期 TIM截图20190823124645.png

  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
复制代码

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

四. 自动续订

🤟⛪🍍♻🦄‎自动续订也很简单, 运行
  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
复制代码

上一篇
下一篇
帖子热度 8529 ℃

小执念 古黑浩劫论坛大牛 2019-8-23 14:37 |显示全部楼层

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

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

冰阳莲花 「初入古黑」 2019-8-23 14:30 |显示全部楼层

这个用户很懒,还没有填写自我介绍呢~

佩服佩服!
空谷幽兰 踏破虚空 2019-8-23 15:56 来自手机 |显示全部楼层

从前车马很慢,书信很远,一生只够爱一个人,但是可以纳很多妾啊!

精华达人 主题破百 以坛为家 论坛元老 五周年纪念
膜拜大佬
您需要登录后才可以回帖 登录 | 免费注册  

本版积分规则

快速回复 返回列表