自动部署SSL证书到阿里云腾讯云CDN

项目地址:https://github.com/yxzlwz/ssl_update

项目简介

目前,自动申请和管理免费SSL证书的项目有很多,如个人正在使用的 acme.sh。然而在申请后,如果我们的需求不仅限于服务器本地的使用,证书的部署也是一件麻烦事。

本项目旨在解决这个问题:这是一个将证书上传到各个云服务商主流产品的脚本集合,且在很大程度上支持大家根据个人需求进行配置。

为了不重复造轮子,我们没有实现证书申请功能。我们更建议您将此项目作为 acme.sh 的补充,具体将在下文中介绍。

考虑到目前主要适配的是国内的云服务商,暂不提供英文文档。

写在前面

我们强烈谴责阿里云对托管证书收费的行为。 托管用户上传的证书没有任何成本,30元/次的费用虽然不高,但对于用量较少的用户而言也将成为主要开销之一。这一收费阻碍了 HTTPS 的普及,也为阿里云相关服务的配置徒增障碍。我们希望阿里云能够取消这一收费。

适配情况

目前已适配的云服务商产品有:

  • 阿里云
    • CDN
    • 视频直播
  • 腾讯云
    • CDN
    • API 网关
  • DogeCloud
    • CDN

目录结构

默认情况下,你需要在项目根目录下创建 ssl 文件夹,对于每个域名,在该文件夹中创建以证书签发域名为名的文件夹,其内存放公钥文件 cert.pem 和私钥文件 key.pem

如我的域名是 yixiangzhilv.com,那么目录结构应如下:

复制代码
ssl
└── yixiangzhilv.com
    ├── cert.pem
    └── key.pem

目录和文件名可以在配置文件中进行修改。

特别说明的是,目前进行测试时使用的域名都是 ZeroSSL 签发的通配符域名。例如你的域名是 yixiangzhilv.com,那么对应的证书应同时签发给 yixiangzhilv.com*.yixiangzhilv.com

配置文件

复制 config.example.yamlconfig.yaml,并根据个人需求进行修改。

对于不需要的云服务商,可以将其对应的 enabled 字段设为 false;对于不需要的产品,可以为其对应的 enabled_products 字段添加注释。

请确保正确配置各个云服务商的 API 密钥,且为配置的密钥赋予了足够的权限。除了你需要的产品的管理权限外,对于部分云服务商(如腾讯云),本项目还需要操作 SSL 证书的权限。

使用方法

在配置好 config.yaml 后,运行命令如下:

bash 复制代码
python3 index.py yixiangzhilv.com

其中 yixiangzhilv.com 是你的域名,该参数必须添加

相关推荐
^Rocky6 小时前
uniapp 对接腾讯云IM群公告功能
uni-app·腾讯云
CRMEB定制开发6 小时前
CRMEB 中 PHP 快递查询扩展实现:涵盖一号通、阿里云、腾讯云
阿里云·php·腾讯云·商城系统·商城源码
waving-black9 小时前
利用frp和腾讯云服务器将内网暴露至外网(内网穿透)
linux·服务器·腾讯云·frp·内网穿透
Wish3D14 小时前
阿里云OSS 上传文件 Python版本
开发语言·python·阿里云
success_a14 小时前
大故障:阿里云核心域名爆炸了
数据库·阿里云·云计算
itachi-uchiha1 天前
命令行以TLS/SSL显式加密方式访问FTP服务器
服务器·网络协议·ssl
moppol1 天前
SSL/TLS握手全流程拆解:从“Hello“到“安全通道“的每一个字节
网络·安全·ssl
CRMEB定制开发1 天前
CRMEB 框架中 PHP 上传扩展开发:涵盖本地上传及阿里云 OSS、腾讯云 COS、七牛云
阿里云·php·腾讯云·微信商城·php商城源码
^Rocky1 天前
uniapp 集成腾讯云 IM 富媒体消息(地理位置/文件)
uni-app·腾讯云·媒体
Clownseven1 天前
“轻量应用服务器” vs. “云服务器CVM”:小白入门腾讯云,哪款“云机”更适合你?(场景、配置、价格对比解析)
运维·服务器·腾讯云