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

  • 相关阅读:
    对象遍历 for in ,数组遍历for in 与 for of 的区别
    计算一个数组中key值相同的数量
    VUE的两种跳转push和replace对比区别
    微信公众号二次分享ios分享失败问题
    获得对象中的键或值
    第一个table根据checkbox选择tr,在另一个table中显示对应索引的tr(jq遍历的运用)
    checkbox 全选反选 获得所有的checkbox
    为什么jQuery要return this.each()?
    用jq代码写出一个轮播图。
    页面滚动到一定位置,两个div 朝中间运动。
  • 原文地址:https://www.cnblogs.com/chy-op/p/10239463.html
Copyright © 2011-2022 走看看