kubernetes里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

kubernetes里let's encrypt通配符证书的自动续期更新

原文地址:https://www.cnblogs.com/chy-op/p/10239463.html

时间: 2024-10-07 19:54:00

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

使用 acme.sh 申请Let‘s Encrypt 通配符证书

1.安装acme.sh curl https://get.acme.sh | sh 2.使用dns API得方式申请证书dns 方式的真正强大之处在于可以使用域名解析商提供的 api 自动添加 txt 记录完成验证.acme.sh 目前支持 cloudflare, dnspod, cloudxns, godaddy 以及 ovh 等数十种解析商的自动集成.以 dnspod 为例, 你需要先登录到 dnspod 账号, 生成你的 api id 和 api key, 都是免费的. 然后: expor

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

什么是 Let’s Encrypt? 部署 HTTPS 网站的时候需要证书,证书由 CA 机构签发,大部分传统 CA 机构签发证书是需要收费的,这不利于推动 HTTPS 协议的使用. Let’s Encrypt 也是一个 CA 机构,但这个 CA 机构是免费的!!!也就是说签发证书不需要任何费用. 什么是通配符证书 在没有出现通配符证书之前,Let’s Encrypt 支持两种证书. 1)单域名证书:证书仅仅包含一个主机. 2)SAN 证书:一张证书可以包括多个主机(Let’s Encrypt

centos+nginx申请Let's Encrypt 通配符HTTPS证书

Let's Encrypt 宣布 ACME v2 正式支持通配符证书,并将继续清除 Web 上采用 HTTPS 的障碍,让每个网站轻松获取管理证书.消息一出,马上就有热心用户分享出了 Let's Encrypt 通配符 HTTPS 证书的申请方式,下面我们一起来学习下吧! 配置环境: 操作系统:Ubuntu 16.04.2 LTS 配置域名:tinywan.top 具体步骤 1.获取certbot-auto 1 2 3 4 5 # 下载 wget https://dl.eff.org/certb

申请Let’s Encrypt通配符HTTPS证书(certbot ACME v2版)

1.获取certbot-auto# 下载 # 下载 wget https://dl.eff.org/certbot-auto # 设为可执行权限 chmod a+x certbot-auto 2.开始申请证书客户在申请 Let’s Encrypt 证书的时候,需要校验域名的所有权,证明操作者有权利为该域名申请证书,目前支持三种验证方式: dns-01:给域名添加一个 DNS TXT 记录.http-01:在域名对应的 Web 服务器下放置一个 HTTP well-known URL 资源文件.t

解读泛域名证书(通配符证书) 如何免费申请

泛域名SSL证书又叫通配符证书,Wildcard Certificates,申请这样的证书可以保护一个域名及该域名下的所有子域名.这样域名有证书加密传输的安全链接,也就形成了https加密链接形式,不但安全而且还不限制子域名的数量.一般会以通配符的形式(如:*.domain.com)来指定证书所要保护的域名. 例如,一个单独的通配符证书就可以保护 www.example.com a.example.com b.example.com api.example.com.通配符证书可以保护通用域名和您

通配符证书导致 Outlook Anywhere 的客户端连接问题

本主题介绍当您使用 Outlook Anywhere 连接到 Microsoft Exchange 及在组织中跨 Exchange 客户端访问服务器部署通配符证书时如何解决 Microsoft Office Outlook 2007 客户端连接问题.推荐购买GeoTrust通配符证书. 当您需要 Exchange 组织将通配符证书用于运行 Exchange Server 2007 且已安装客户端访问服务器角色的任何服务器时,您必须配置自动发现服务的设置,以便 Outlook Anywhere 客

如何使用Kubernetes里的NetworkPolicy

创建一个类型为NetworkPolicy的Kubernetes对象的yaml文件. 第九行的podSelector指定这个NetworkPolicy施加在哪些pod上,通过label来做pod的过滤. 从第16行开始的ingress定义,定义了只有具备标签component=ads,module=app的pod才能够连接component=ads, module=db的pod. 首先创建一个临时的pod,使用正确的label(component=ads,module=app)去访问db pod:

Exchange 2016 通配符证书默认无法分配POP3服务

如题,这个是在给客户部署生产环境的时候遇到的一个情况,自己查了资料,也打了电话给微软售前进行咨询,废话不多说,直接上解决方案 服务器上POP3设置如下: 通配符证书默认无法分配POP服务需要通过命令为POP3/IMAP设置证书:Set-popsettings -x509CertificateName mail.contoso.com 设置POP3/IMAP内外网访问地址Set-PopSettings -ExternalConnectionSettings "mail.contoso.com:99

Docker环境下自动更新Let’s Encrypt SSL证书

说明:以下脚本在Ubuntu 18.04运行通过,大部分脚本执行需要管理员权限. 1. 准备docker环境 # 安装必备工具包 apt-get -y install apt-transport-https ca-certificates curl software-properties-common # 添加docker阿里云源,相对官方源速度更快 curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo ap