zoukankan      html  css  js  c++  java
  • Ubuntu里let's encrypt通配符证书的自动续期更新

    环境与需求:

      Ubuntu云服务器上,已经做好了ssl证书的免费申请,但是证书的期限是3个月,3个月到期后必须重新申请或者更新。由于k8s集群里的服务一直在使用证书,每三个月人工更新太麻烦,所以想要配置一些做个定时自动更新。

    准备:

      其中,

      certbot-auto  执行命令,可以对证书进行申请更新删除等一系列操作

      dns_script  调用连接服务器控制台设置DNS校验记录的脚本

      pytz  python的一个模块

    一、下载hook功能的脚本文件

      git clone https://github.com/ywdblog/certbot-letencrypt-wildcardcertificates-alydns-au.git

      目录内容:

      

      python-version里的脚本是python环境使用的,外面的脚本是PHP环境使用的,都是同一种效果

    二、获取AccessKeyID和AccessKeySecret,登录服务器控制台

      

    三、更新脚本

      我使用的是python脚本,修改里面变量ACCESS_KEY_ID和变量ACCESS_KEY_SECRET的值为上一步得到的ID和密码

      并且要赋予两个脚本的执行权限(这个很重要,我之前就忘记了,浪费了很多时间)

    四、默认的python缺少pytz模块,而脚本里用到了pytz

      pip install wheel
      pip install pytz-2018.6-py2.py3-none-any.whl

    五、更新测试

      ./certbot-auto renew --cert-name scdsc.org.cn --preferred-challenges dns-01 --manual-auth-hook dns_script/python-version/au.sh --dry-run

      其中,

        --cert-name  指定更新哪个证书

        --manual-auth-hook  指定使用更新DNS记录的脚本

        --dry-run  测试更新,并不会真的更新

        --preferred-challenges  应该可以不用加,因为执行更新命令会自动去调取cert的配置文件,里面有各种参数

      ./certbot-auto renew --cert-name scdsc.org.cn --preferred-challenges dns-01 --manual-auth-hook dns_script/python-version/au.sh --force-renew

        --force-renew  强制更新,由于证书可使用时间还很长,加上此选项便可以强制更新了

    六、更新成功,然后定时任务执行更新命令

      

    详情参考:

      生成DNS校验记录:https://github.com/ywdblog/certbot-letencrypt-wildcardcertificates-alydns-au

      pytz模块包下载:https://www.lfd.uci.edu/~gohlke/pythonlibs/#pytz

  • 相关阅读:
    区块链技术术语表
    以太坊客户端Geth命令用法-参数详解
    智能合约开发环境搭建及Hello World合约
    以太坊是什么
    比特币区块结构Merkle树及简单支付验证分析
    非对称加密技术- RSA算法数学原理分析
    验证APNS证书的有效性
    十八般武艺之 Runloop
    iOS 所有设备一览 && CoreFoundation源码
    [User Defaults] Failed to read values in CFPrefsPlistSource (iOS 10)
  • 原文地址:https://www.cnblogs.com/chy-op/p/10239463.html
Copyright © 2011-2022 走看看