返回》

免费SSL证书自动申请+自动续期+自动部署超详细图文教程

自从SSL免费证书从免费1年减少到90天后,不知道大家有没有和搬主题一样的焦虑,每过90天都要重新申请一次,申请完又要重新部署非常麻烦,如果涉及到站点又多,又涉及到CDN域名证书,又涉及到对象存储证书,又涉及到全站加速证书的部署,是不是非常累。之前国内比如腾讯云、阿里云、华为云、百度云之类的都有免费1年的SSL证书,大不了申请后1年再重新申请一次,结果现在已经缩减到90天的有效期了,而且还是单域名,不是通配符域名,非常麻烦。基于此,搬主题研究一下目前主流的免费SSL证书的申请,分享一下免费SSL证书自动申请+自动续期+自动部署超详细图文教程。本教程可以满足大家既要又要还要的要求,如下:1、SSL证书要支持通配符域名。毕竟谁也不想申请这么多个证书。2、SSL证书要免费。毕竟能薅羊毛就得薅。3、SSL证书准备到有效期90天之前会自动续期,或者自动申请新证书,全自动域名解析。4、SSL证书申请后自动部署到主机站点上,包括不限于腾讯云、阿里云、华为云、七牛云、亚马逊云或者各种国外主机。5、SSL证书自动部署到腾讯云、阿里云、华为云、七牛云、百度云等国内主流的云主机CDN的证书上,可以直接拿来使用。6、图形化操作,简单明了。这里就介绍一下Certd免费开源的SSL证书工具,Certd是一款开源、免费、全自动申请和部署更新SSL证书的工具。一、Certd特性​Certd不仅支持证书申请过程自动化,还可以自动化部署更新证书,让你的证书永不过期。全自动申请证书(支持所有注册商注册的域名)全自动部署更新证书(目前支持部署到主机、部署到阿里云、腾讯云等,目前已支持30+部署插件)支持通配符域名/泛域名,支持多个域名打到一个证书上邮件通知私有化部署,保障数据安全支持SQLite、Postgresql、MySQL数据库二、一些说明​Certd申请证书过程遵循acme协议需要验证域名所有权,一般有两种方式http-01: 在网站根目录下放置一份txt文件dns-01: 需要给域名添加txt解析记录,通配符域名只能用这种方式(本项目仅支持dns-01)证书续期:实际上没有办法不改变证书文件本身情况下直接续期或者续签。我们所说的续期,其实就是按照全套流程重新申请一份新证书,然后重新部署上去。免费证书过期时间90天,以后可能还会缩短,所以自动化部署必不可少设置每天自动运行,当证书过期前35天,会自动重新申请证书并部署三、证书颁发机构对比​Let’s Encrypt:申请最简单。Google: 大厂光环,兼容性好,首次需要翻墙获取EAB。ZeroSSL: 需要EAB,获取EAB无需翻墙。官方DEMO地址,自助注册后体验效果,非常简单明了:https://certd.handsfree.work/官方的演示地址仅适用体验,不适合一直正式使用,注意上面的数据将不定期清理,不定期停止定时任务,生产使用请自行部署该面板,并且包含敏感信息,务必自己本地部署进行生产使用四、Certd面板工具安装Certd面板毕竟私有化部署比较安全,也就是自己部署到一个闲置主机上比较稳妥。或者也能部署到生产主机上,自己使用即可。比如搬主题就测试了部署到免费的甲骨文VPS上。部署方式有几种,比如BT宝塔面板方式部署1Panel面板方式部署Docker方式部署源码方式部署这里就不介绍BT宝塔的部署方式了,毕竟BT宝塔面板是自带申请免费SSL证书的程序的。这里搬主题就专门介绍一下Docker方式部署。一、安装教程​1. 环境准备​1.1 准备一台云服务器【阿里云】云服务器2核2G,68元/年,续费同价!【 立即购买】【腾讯云】云服务器2核2G,38元/年,续费同价!【 立即购买】1.2 安装docker、docker-composehttps://docs.docker.com/engine/install/选择对应的操作系统,按照官方文档执行命令即可比如是Ubuntu的系统,那就选择Ubuntu在新的主机上首次安装 Docker Engine 之前,您需要设置 Docker apt存储库。之后,您可以从存储库安装和更新 Docker。设置 Docker 的apt存储库。# 依次输入如下命令: sudo apt-get update sudo apt-get install ca-certificates curl sudo install -m 0755 -d /etc/apt/keyrings sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc sudo chmod a+r /etc/apt/keyrings/docker.asc # 输入如下命令: echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt-get update安装 Docker 包。sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin然后就是等待安装的过程,安装完成后,使用如下命令验证是否成功通过运行镜像来验证安装是否成功hello-world,出现下图的话就是安装成功了sudo docker run hello-world2. 部署certd容器​接下来安装certd# 随便创建一个目录 mkdir certd # 进入目录 cd certd # 下载docker-compose.yaml文件,或者手动下载放到certd目录下 wget https://gitee.com/certd/certd/raw/v2/docker/run/docker-compose.yaml # 可以根据需要修改里面的配置 # 1.修改镜像版本号【可选】 # 2.配置数据保存路径【可选】 # 3.修改端口号【可选】 vi docker-compose.yaml # 【可选】 # 启动certd docker compose up -d3. 访问测试​安装完成后,使用下面的方式访问Certd面板http://your_server_ip:7001https://your_server_ip:7002默认账号密码:admin/123456记得修改密码接下来,重点介绍一下从创建证书申请任务到自动部署证书全流程申请证书->部署证书->设置定时执行->设置邮件通知五、自动申请+自动续期+自动部署教程准备工作已部署CertD服务注册一个域名(支持阿里云万网、腾讯云DnsPod、华为云)准备好以上DNS解析服务商的AccessKey 和 AccessSecret证书要部署的目标(可选,单纯当成证书申请工具用也不错)自动化流水线创建1. 创建证书申请部署流水线需要添加域名的DNS解析服务商的授权 流水线创建成功2. 流水线详情界面到这一步申请证书就已经配置完成了。 点击手动触发,就可以申请证书了。接下来演示如何添加部署任务3. 添加部署到阿里云CDN任务点击添加任务 选择任务类型 填写任务参数 点击确定,部署到CDN任务配置成功4. 添加部署到服务器主机任务点击新任务,弹出添加任务界面  先选择上传到主机任务填写任务参数,比如证书保存路径 需要添加主机ip、用户名、密码,只需添加一次,后续其他任务可以复用 然后添加第二个任务,执行主机命令,部署证书 选择执行脚本命令任务 编写脚本,选择之前添加的主机 点击确定,部署到主机任务配置成功 5. 手动触发执行任务,测试一下点击任务可以查看状态和日志 这里执行失败,可以查看错误日志 修改正确后,重新执行  可以看到前面执行过的就会跳过,不会重复执行 6. 查看证书部署效果可以看到证书已经部署到CDN成功  也可以手动下载证书 7. 定时触发配置定时触发,以后每天定时执行cron格式,例如: 0 0 3 * * * 表示每天凌晨3点执行到期前35天会自动申请新证书并部署,没到期前不会重复申请8. 邮件通知可以接收邮件通知(支持时机:开始、成功、失败、失败转成功)  需要配置邮件服务器 以上就是从创建证书申请任务到自动部署证书全流程。因为是开源免费的平台,可以进入网站了解:https://gitee.com/certd/certd当然,也可以参考一下还有其他的免费的SSL证书申请平台。 2025最新免费SSL证书申请平台安全测评与优选推荐2个月前010214
THE END