环境与需求:

  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

Ubuntu里let's encrypt通配符证书的自动续期更新的更多相关文章

  1. 使用免费的Let's Encrypt通配符证书 升级我们的网站

    Let's Encrypt通配符证书的官方启用日期:2018年3月13日 也就是说,2018年3月13日之后,我们就可以使用Let's Encrypt通配符证书了,当然是免费的. Let's Encr ...

  2. 让网站永久拥有HTTPS - 申请免费SSL证书并自动续期 Let’s Encrypt

    让网站永久拥有HTTPS - 申请免费SSL证书并自动续期 Let’s Encrypt 为什么要用HTTPS  网站没有使用HTTPS的时候,浏览器一般会报不安全,而且在别人访问这个网站的时候,很有可 ...

  3. Let’s Encrypt 通配符证书申请配置

    首先你可以查看下官方提供的支持申请通配符证书的客户端列表:https://letsencrypt.org/docs/client-options/. 这些客户端支持最新的ACME v2接口,而这个接口 ...

  4. Let’s Encrypt 通配符证书,泛域名证书申请配置

    首先你可以查看下官方提供的支持申请通配符证书的客户端列表:https://letsencrypt.org/docs/client-options/. 参考链接:https://github.com/N ...

  5. Kubelet 证书如何自动续期

    一.问题现象和原因 Kubernetes 日志错误 当 Kubernetes 集群日志中出现 certificate has expired or is not yet valid 错误信息时,表明证 ...

  6. Apache环境服务器配置Let's Encrypt免费SSL证书及自动续期方法

    如今越来越多的网站开始使用SSL证书,实现HTTPS网址形式,如果我们是英文网站更需要用到这样格式的HTTPS网址,因为根据谷歌搜索结果提示到如果用到SSL证书的在同等条件下排名结果是有靠前可能的.我 ...

  7. 让网站永久拥有HTTPS - 申请免费SSL证书并自动续期

    https://blog.csdn.net/xs18952904/article/details/79262646 https://freessl.org/

  8. Windows Ubuntu Bash申请免费通配符证书(Let's Encrypt)并绑定IIS

    什么是 Let’s Encrypt? 部署 HTTPS 网站的时候需要证书,证书由 CA 机构签发,大部分传统 CA 机构签发证书是需要收费的,这不利于推动 HTTPS 协议的使用. Let’s En ...

  9. 申请免费通配符证书(Let's Encrypt)并绑定IIS

    申请免费通配符证书(Let's Encrypt)并绑定IIS 2018-05-25 18:01 by Giant Liu, 800 阅读, 4 评论, 收藏, 编辑 什么是 Let’s Encrypt ...

随机推荐

  1. JQuery调用iframe子页面函数/对象的方法

    父页面有个ID为mainfrm的iframe,iframe连接b.html,该页面有个函数test 在父页面调用b.html的test方法为: $("#mainfrm")[0].c ...

  2. ES禁用_source不会影响聚合

    From Elasticsearch's website: The _source field contains the original JSON document body that was pa ...

  3. 语义化npm版本号

    参考资料: 语义化版本2.0.0 the semantic versioner for npm 在package的devDependencies和dependencies2个字段中有指定依赖包版本,这 ...

  4. ASCII UNICODE UTF "口水文"

    最近接了一个单是需要把非 UTF-8 (No BOM)编码的文件转换成 UTF-8 (No BOM),若此文件是 UTF-8 但带有 BOM ,需要转换成不带 BOM 的.于是开启了一天的阅读.首先花 ...

  5. javaScript运算符之in运算符

  6. 集训Day8

    旧试题Day2... bzoj3436 有若干个集合和一些信息 信息有3种: I.集合A比集合B至少多C个元素 II.集合A比集合B至多多C个元素 III.集合A和集合B元素一样多 求这些信息是否有矛 ...

  7. 【运维程序】简单的命令控制器(支持定时命令执行、重复定时任务命令和进程管理,开发这个小程序主要是为了方便管理服务进程)【个人github项目】

    一.前言: command-controller 一个运维程序,简单的命令控制器(支持定时命令执行和重复定时命令,开发这个程序主要是为了方便管理服务进程) 本来是要用python做的,但是之前做ffm ...

  8. WPF error: does not contain a static 'Main' method suitable for an entry point

    WPF error: does not contain a static 'Main' method suitable for an entry point doe ...

  9. Visual Studio 编译后去掉只读属性

    Visual Studio 编译后去掉只读属性 attrib $(TargetPath) -R attrib $(TargetDir)$(TargetName).pdb -R

  10. ORACLE常用数据库字段类型

    ORACLE常用数据库字段类型   常用的数据库字段类型如下:   字段类型 中文说明 限制条件 其它说明  CHAR 固定长度字符串 最大长度2000 bytes     VARCHAR2 可变长度 ...