自动更新阿里云CDN SSL证书

deploy-certificate-to-aliyun

随着各大CA机构开始收割用户,云厂商们提供的免费SSL证书也由之前的12个月变成现在的3个月。笔者一直使用阿里云的OSS作为图床,说实话在如果继续在阿里云上三个月免费一换也太频繁了

笔者在这里使用github action来每隔两个月自动申请免费的泛解析证书来部署阿里云CDN上

项目地址:https://github.com/fengyuan-liang/deploy-certificate-to-aliyun

如何使用

fork该项目,并填写对应参数即可

GitHub 仓库的 "Settings" -> "Secrets and variables" -> "Actions" 中添加以下 secrets:

  • ALIYUN_ACCESS_KEY_ID:阿里云账户AK
  • ALIYUN_ACCESS_KEY_SECRET:阿里云账户SK
  • DOMAIN: 要设置域名的二级域名,例如要设置*.example.com,这里填写的就是example.com, 多个域名用英文逗号隔开
  • ALIYUN_CDN_DOMAIN:设置阿里云cdn域名,一般是三级域名,例如cdn.example.com,需要跟上面的DOMAINS对应,否则会设置错误
  • EMAIL: 证书过期时提醒的邮件

其中AK、SK在阿里云工作台获取

这里的DOMAINALIYUN_CDN_DOMAIN需要对应上,如果是一个泛解析证书用于多个CDN域名的话,可以简单修改下upload_certs_to_aliyun.py

python 复制代码
def main():
    access_key_id = get_env_var('ALIYUN_ACCESS_KEY_ID')
    access_key_secret = get_env_var('ALIYUN_ACCESS_KEY_SECRET')
    domains = get_env_var('DOMAINS').split(',')
    cdn_domains = get_env_var('ALIYUN_CDN_DOMAINS').split(',')

    client = AcsClient(access_key_id, access_key_secret, 'cn-hangzhou')

    # 假设第一个域名是泛域名证书
    primary_domain = domains[0]
    cert_path = f'~/certs/{primary_domain}/fullchain.pem'
    key_path = f'~/certs/{primary_domain}/privkey.pem'

    for cdn_domain in cdn_domains:
        upload_certificate(client, cdn_domain, cert_path, key_path)
相关推荐
我的offer在哪里8 小时前
企业级 K8s 深度解析:从容器编排到云原生基石的十年演进
阿里云·k8s
wanhengidc9 小时前
云手机能够做些什么?
运维·服务器·人工智能·智能手机·云计算
捷智算云服务12 小时前
混合云新篇章:H100裸金属租赁与云计算的协同效应
云计算
uesowys13 小时前
阿里云通义万相视频生成大模型开发训练部署
阿里云·视频生成大模型
小白考证进阶中13 小时前
自学阿里云认证,能救一个是一个!
阿里云·云计算·阿里云acp·阿里云acp认证·阿里云acp考试·阿里云acp报名·阿里云acp备考
@HNUSTer14 小时前
基于 GEE 平台用 Sentinel-1 SAR 数据实现山区潜在滑坡检测
云计算·sentinel·数据集·遥感大数据·gee·云平台·sar
iconball14 小时前
个人用云计算学习笔记 --19 (MariaDB服务器)
linux·运维·笔记·学习·云计算
Serverless 社区18 小时前
阿里云函数计算 AgentRun 全新发布,构筑智能体时代的基础设施
人工智能·阿里云·云原生·serverless·云计算
sailwon21 小时前
自己搭建远程桌面服务器——私有化部署RustDesk
运维·服务器·云计算·远程工作
XiaoLeisj21 小时前
【SpringAI】第六弹:深入解析 MCP 上下文协议、开发和部署 MCP 服务、MCP 安全问题与最佳实践
阿里云·大模型·协议·spring ai·mcp