自动更新网站SSL证书的方法记录

本文讲述了作者在阿里云网站证书即将到期时,转向LetsEncrypt获取免费SSL证书的经历,介绍了LetsEncrypt的背景、ACME协议及其自动化特性,重点讨论了通配符证书的应用、自动更新的局限性和Certbot的使用方法,以及如何通过Cron任务实现自动续期。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

缘起

收到阿里云的通知,也就是免费的SSL证书,有效期只有三个月了。
在这里插入图片描述
正好网站证书要到期了,看着这三个月的期限实在是太鸡肋了,本来网站就没有什么人访问,还要我三个月伺候一下,真成大爷了?

替代

第一想法就说找个免费的去,一点也不费力气,就百度到百度云提供免费的SSL,过去看了下,地址:https://cloud.baidu.com/product/ssl.html
不错,如果选择TrustAsia购买:
在这里插入图片描述
能够买到12月期限的免费证书。本来事情到这里就结束了,不小心又看了下百度搜索结果,还有自动更新的方法?

Let’s Encrypt简介

Let’s Encrypt 是 一个叫 ISRG ( Internet Security Research Group ,互联网安全研究小组)的组织推出的免费安全证书计划。参与这个计划的组织和公司可以说是互联网顶顶重要的先驱,除了前文提到的三个牛气哄哄的发起单位外,后来又有思科(全球网络设备制造商执牛耳者)、 Akamai 加入,甚至连 Linux 基金会也加入了合作,这些大牌组织的加入保证了这个项目的可信度和可持续性。

部署 HTTPS 网站的时候需要证书,证书由 CA 机构签发,大部分传统 CA 机构签发证书是需要收费的,这不利于推动 HTTPS 协议的使用。

Let’s Encrypt 也是一个 CA 机构,但这个 CA 机构是免费的!!!也就是说签发证书不需要任何费用。Let’s Encrypt 由于是非盈利性的组织,需要控制开支,他们搞了一个非常有创意的事情,设计了一个 ACME 协议,目前该协议的版本是 v1。

那为什么要创建 ACME 协议呢,传统的 CA 机构是人工受理证书申请、证书更新、证书撤销,完全是手动处理的。而 ACME 协议规范化了证书申请、更新、撤销等流程,只要一个客户端实现了该协议的功能,通过客户端就可以向 Let’s Encrypt 申请证书,也就是说 Let’s Encrypt CA 完全是自动化操作的。

任何人都可以基于 ACME 协议实现一个客户端,官方推荐的客户端是Certbot,官网:https://certbot.eff.org/ 。

ACME协议

Automatic Certificate Management Environment=ACME,自动认证管理环境协议
ACME协议的基本思路是:

  • 在你服务器上生成一次性的随机特征数据(nonce)
  • 然后通过Let’s Encrypt的服务器核对这个数据(验证对服务器的控制权)
  • 核对成功发放证书

使用前提:

  • 域名,它会生成指定域名的证书
  • 在域名指向的服务器上能访问https
  • Linux环境

Let’s Encrypt 通配符证书

在没有出现通配符证书之前,Let’s Encrypt 支持两种证书。

1)单域名证书:证书仅仅包含一个主机。
2)SAN 证书:一张证书可以包括多个主机(Let’s Encrypt 限制是 20),也就是证书可以包含下列的主机:http://www.example.com、http://www.example.cn、http://blog.example.com 等等。

证书包含的主机可以不是同一个注册域,注册域就是向域名注册商购买的域名。
对于个人用户来说,由于主机并不是太多,所以使用 SAN 证书完全没有问题,但是对于大公司来说有一些问题:

子域名非常多,而且过一段时间可能就要使用一个新的主机。注册域也非常多,对于大企业来说,SAN 证书可能并不能满足需求,类似于 sina 这样的网站,所有的主机全部包含在一张证书中,而使用 Let’s Encrypt 证书是无法满足的。

通配符证书就是证书中可以包含一个通配符,比如 .http

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

五角大寨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值