CertShip - 自动化OSS证书绑定工具
This article isn’t available in English yet. Here’s the 简体中文 version for now.
一个使用 acme.sh 自动申请SSL证书,并自动绑定到云平台对象存储(如阿里云 AliOSS)的工具。
起因就是因为这个博客的静态资源托管到Vercel之类的话速度太慢,就放到了国内的平台,但国内平台需要域名备案而且SSL不免费,就写了这个工具 用 acme 从 Let’s Encrypt 之类的申请证书,并且绑定到 OSS Bucket 的域名。
- 证书来源:Let’s Encrypt(acme.sh 仅为签发工具)
- 特别鸣谢: Github Copilot 的帮助
- 特别感谢:acme.sh 的作者 Neilpang
- 特别感谢:Sora 给生成的 Logo
安装依赖
poetry install
用法
你可以通过 poetry 运行工具:
poetry run certship --help
或直接运行:
python3 -m src.cli --help
示例
poetry run certship \
--domain <你的域名> \
--dns-provider <dns服务商,默认ali> \
--platform alioss \
--oss-bucket <OSS bucket名称> \
--oss-endpoint <OSS endpoint> \
--ali-key <阿里云AccessKeyId> \
--ali-secret <阿里云AccessKeySecret> \
[--ecc] [--run] [--force] [--debug]
参数说明
--domain
:要申请证书的域名(必填)--dns-provider
:DNS 服务商,默认 ali(可选,acme.sh 支持的 DNS 插件,详见 acme.sh 文档)--platform
:目标平台,目前仅支持 alioss 或 tencentcos(必填)--oss-bucket
:阿里云 OSS 的 bucket 名称(alioss 必填)--oss-endpoint
:OSS 的 endpoint(alioss 必填)--ali-key
:阿里云 AccessKeyId(alioss 必填)--ali-secret
:阿里云 AccessKeySecret(alioss 必填)--ecc
:使用 ECC 证书(可选)--run
:执行证书签发和部署(可选,不加则只部署已有证书)--force
:强制续签证书(可选)--debug
:acme.sh 调试模式(可选)
依赖环境
- Python 3.8+
- poetry
- acme.sh(需提前安装并配置好)
- ossutil64(需提前安装并配置好)
典型流程
- 安装依赖:
poetry install
- 安装 acme.sh 并配置好 DNS API
- 安装并配置好 ossutil64(需有 yundun-cert:CreateSSLCertificate 权限)
- 运行上述命令自动签发并绑定证书
支持计划
- 阿里云 AliOSS
- 腾讯云 COS
- 本地 Nginx
- 七牛云
欢迎 PR!
This site is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.