美文网首页
CDN HTTPS 证书自动更新 - cdn-auto-cert

CDN HTTPS 证书自动更新 - cdn-auto-cert

作者: shuhanghang | 来源:发表于2023-09-22 12:17 被阅读0次

    解决cdn加速域名证书过期提前自动报警和更新,基于云厂商提供的相关接口和lego(Let's Encrypt客户端)使用python实现,目前支持cdn厂商有阿里云、腾讯云、华为云,支持面板查看和操作。

    1. 功能

    • 支持加速域名证书定时检测、证书申请和上传
    • 支持UI查看域名证书状态,手动更新状态和证书
    • 支持匹配多级域名、全域名
    • 支持指定证书申请机构
    • 支持证书过期邮件通知
    • 支持命令行、Docker运行

    2. 配置

    1. 公共配置文件:./configs/config.py
    2. CDN-DNS配置文件:./configs/providers.yml
    3. 供应商秘钥文件:./configs/secret.py
    # cdnProvider(CDN提供商)支持: aliyun (阿里云)、tencent (腾讯云)、huawei(华为云)
    # dnsProvider(DNS供应商)支持: 名称参考 https://go-acme.github.io/lego/dns/ 
    # caProvider(CA供应商)支持:   letsencrypt(Let's Encrypt)、buypass(Buypass)、zerossl(ZeroSSL)
    spec:
      - cdnProvider: aliyun
        description: "CDN提供商是阿里云,使用的加速域名提供商是阿里云、腾讯云"
        dns:
          - provider: alidns
            caProvider: ''    # 默认值为'letsencrypt',也可以不写该字段
            domains:
              - test1.cn           # 匹配二级域名的加速域名
              - www.test2.com      # 匹配全域名的加速域名
          - provider: tencentcloud
            domains:
              - "test1.net"
    
      - cdnProvider: tencent
        description: "CDN提供商是腾讯云,使用的加速域名提供商是cloudFlare、route53"
        dns:
          - provider: cloudflare
            caProvider: "zerossl"
            domains:
              - test1.xyz
          - provider: route53
            domains:
              - test1.io
    
      - cdnProvider: huawei
        description: "CDN提供商是华为云,使用的加速域名提供商是阿里云、Google Cloud"
        dns:
          - provider: gcloud
            caProvider: "zerossl"
            domains:
              - test1.org
    

    提示:添加新的CDN加速域名首次需手动开启https并手动上传证书

    3. 运行

    1. 手动

    pip3 install -r requirements.txt -i https://pypi.doubanio.com/simple
    python3 auto_cert.py
    

    2. 定时

    pip3 install -r requirements.txt -i https://pypi.doubanio.com/simple
    python3 auto_cert_scheduler.py
    

    支持面板,默认账号密码:admin/admin

    pip3 install -r requirements_ui.txt -i https://pypi.doubanio.com/simple
    python3 app.py
    

    3. docker

    docker build -t cdn-auto-cert:latest -f Dockerfiles/basic/Dockerfile .
    docker run --name cdn-auto-cert -it \
      -v $PWD/configs/config.py:/home/config/config.py \
      -v $PWD/configs/providers.yml:/home/config/providers.yml \
      -v $PWD/configs/secret.py:/home/config/secret.py \
      -d cdn-auto-cert:latest
    

    支持面板,默认账号密码:admin/admin

    docker build -t cdn-auto-cert-ui:latest -f Dockerfiles/ui/Dockerfile .
    docker run --name cdn-auto-cert -it \
      -p 8080:8080 \
      -v $PWD/configs/config.py:/home/config/config.py \
      -v $PWD/configs/providers.yml:/home/config/providers.yml \
      -v $PWD/configs/secret.py:/home/config/secret.py \
      -d cdn-auto-cert-ui:latest
    

    4.截图

    logs ui

    5.项目地址

    https://github.com/shuhanghang/cdn-auto-cert

    相关文章

      网友评论

          本文标题:CDN HTTPS 证书自动更新 - cdn-auto-cert

          本文链接:https://www.haomeiwen.com/subject/vsjtbdtx.html