Certbot Let's Encrypt 证书自动续期

Certbot Let's Encrypt 证书自动续期

安装 Certbot

yum install epel-release -y
yum install certbot -y

certbot certonly //生成证书
certbot renew //续期
certbot certificates //查看证书

域名验证插件

https://github.com/ywdblog/certbot-letencrypt-wildcardcertificates-alydns-au

下载

$ git clone https://github.com/ywdblog/certbot-letencrypt-wildcardcertificates-alydns-au

$ cd certbot-letencrypt-wildcardcertificates-alydns-au

$ chmod 0777 au.sh

配置

DNS API 密钥:

这个 API 密钥什么意思呢?由于需要通过 API 操作阿里云 DNS, 腾讯云 DNS 的记录,所以需要去域名服务商哪儿获取 API 密钥,然后配置在 au.sh 文件中:

  • ALY_KEY 和 ALY_TOKEN:阿里云 API key 和 Secrec 官方申请文档。
  • TXY_KEY 和 TXY_TOKEN:腾讯云 API 密钥官方申请文档。
  • HWY_KEY 和 HWY_TOKEN: 华为云 API 密钥官方申请文档
  • GODADDY_KEY 和 GODADDY_TOKEN:GoDaddy API 密钥官方申请文档。

生成证书

certbot certonly -d *.example.com -d example.com --manual --preferred-challenges dns --manual-auth-hook "/usr/certbot-letencrypt-aliyun/au.sh python aly add" --manual-cleanup-hook "/usr/certbot-letencrypt-aliyun/au.sh python aly clean"

续期 & nginx reload

certbot renew --manual --preferred-challenges dns --deploy-hook "nginx -s reload" --manual-auth-hook "/usr/certbot-letencrypt-aliyun/au.sh python aly add" --manual-cleanup-hook "/usr/certbot-letencrypt-aliyun/au.sh python aly clean"

定时任务

# 只有成功renew证书,才会重新加载 nginx 配置
0 3 * * 0 root certbot renew --manual --preferred-challenges dns --deploy-hook "nginx -s reload" --manual-auth-hook "/usr/certbot-letencrypt-aliyun/au.sh python aly add" --manual-cleanup-hook "/usr/certbot-letencrypt-aliyun/au.sh python aly clean"

# 查看任务
crontab -l

Read more

Flutter入门指南

Flutter入门指南

Flutter 是一个由 Google 开发的开源移动应用开发框架。它允许开发者使用一套代码同时构建 iOS 和 Android 应用,并且提供了丰富的 UI 组件和高效的开发工具,使得开发者能够快速构建出高性能的跨平台应用。 一、Flutter 的实现原理 Flutter 的核心在于其自带的高性能渲染引擎 Skia。不同于其他框架依赖于原生的 UI 组件,Flutter 直接通过 Skia 渲染引擎将所有组件绘制到屏幕上。这种方式保证了跨平台应用在 iOS 和 Android 上的表现完全一致。 1.1 结构概览 Flutter 的架构分为三层: 1. Framework(框架层): 这部分主要由 Dart 编写,提供了 Flutter 的各种 UI 组件(Widget)、手势检测、渲染层以及动画等。

By Lewis