使用 GitHub Action 自动更新 SSL 证书
💡
原文中文,约5300字,阅读约需13分钟。
📝
内容提要
本文介绍了如何使用 GitHub Action 自动化申请和更新 SSL 证书的流程,包括创建 YML 文件、使用 acme.sh 申请证书、配置环境变量和 SSH 密钥,以及证书上传步骤,确保证书更新的自动化和顺利应用。
🎯
关键要点
- 使用 GitHub Action 自动化申请和更新 SSL 证书的流程。
- 在项目根目录下的 .github/workflows 中创建 .yml 文件。
- 使用 acme.sh 申请 SSL 证书,需安装 acme.sh 并配置环境变量。
- 申请泛域名证书时,需要同时传入主域名和通配符域名。
- 证书上传到服务器需要 SSH 密钥,并将公钥上传到服务器的 authorized_keys。
- 上传证书后需重载 Nginx 配置以应用新证书。
- 支持多台服务器的证书上传任务。
- 腾讯云提供自动申请和更新免费证书的功能,需使用 tccli 工具。
- 设置腾讯云 API 密钥和证书 ID 以实现自动化更新。
❓
延伸问答
如何使用 GitHub Action 自动更新 SSL 证书?
通过在项目根目录下的 .github/workflows 中创建 YML 文件,使用 acme.sh 申请证书,并配置 SSH 密钥和环境变量来实现自动更新。
申请泛域名证书时需要注意什么?
申请泛域名证书时,需要同时传入主域名和通配符域名,例如 your-domain.com 和 *.your-domain.com。
如何配置 SSH 密钥以便上传证书?
需要准备一对 SSH 密钥,将公钥上传到服务器的 ~/.ssh/authorized_keys,并将私钥添加到 GitHub Secrets 中,名称为 SSH_PRIVATE_KEY。
如何在 GitHub Action 中设置定时任务?
在 YML 文件中使用 'on: schedule:' 语法设置 cron 表达式,例如每周一 UTC 20:00 触发任务。
腾讯云如何实现自动申请和更新 SSL 证书?
腾讯云提供 EdgeOne 服务,可以自动申请和更新免费证书,用户需使用 tccli 工具进行配置。
在 GitHub Action 中如何处理证书上传失败的情况?
可以在 YML 文件中使用 'continue-on-error: true' 来处理证书上传失败的情况,确保后续步骤仍然执行。
➡️