【Devops】CertD 完全免费、自动申请、自动部署SSL证书一站式管理工具 | 自动化HTTPS | 3个月SSL自动轮换

CertD

CertD 是一个免费全自动申请和自动部署更新SSL证书的工具。
后缀D取自linux守护进程的命名风格,意为证书守护进程。

关键字:证书自动申请、证书自动更新、证书自动续期、证书自动续签

一、特性

本项目不仅支持证书申请过程自动化,还可以自动化部署更新证书,让你的证书永不过期。

  • 全自动申请证书(支持阿里云、腾讯云、华为云、Cloudflare等各种途径注册的域名)
  • 全自动部署更新证书(目前支持部署到主机、部署到阿里云、腾讯云等)
  • 支持通配符域名/泛域名,支持多个域名打到一个证书上
  • 邮件通知
  • 私有化部署,保障安全
  • 免费、免费、免费

二、在线体验

官方Demo地址,自助注册后体验

https://certd.handsfree.work/

注意数据将不定期清理,生产使用请自行部署
包含敏感信息,务必自己本地部署进行生产使用

三、使用教程

本案例演示,如何配置自动申请证书,并部署到阿里云CDN,然后快要到期前自动更新证书并重新部署

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

四、私有化部署

由于证书、授权信息等属于高度敏感数据,请务必私有化部署,保障数据安全

1. 安装docker、docker-compose

1.1 准备一台云服务器

1.2 安装docker

https://docs.docker.com/engine/install/
选择对应的操作系统,按照官方文档执行命令即可

2. 运行certd

docker-compose.yaml 下载

当前版本号: 在这里插入图片描述

# 随便创建一个目录
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 -d

如果提示 没有compose命令,请安装docker-compose
https://docs.docker.com/compose/install/linux/

镜像说明:
  • certd镜像地址:

    • registry.cn-shenzhen.aliyuncs.com/handsfree/certd:latest
  • 镜像构建通过Actions自动执行,过程公开透明,请放心使用

    • 点我查看镜像构建日志

在这里插入图片描述

3. 访问

http://your_server_ip:7001
默认账号密码:admin/123456
记得修改密码

五、 升级

如果使用固定版本号

  1. 修改docker-compose.yaml中的镜像版本号
  2. 运行 docker compose up -d 即可

如果使用latest版本

  1. 重新拉取镜像 docker pull registry.cn-shenzhen.aliyuncs.com/handsfree/certd:latest
  2. 重新启动容器 docker compose restart

数据默认存在/data/certd目录下,不用担心数据丢失

更新日志: CHANGELOG

六、一些说明

  • 本项目ssl证书提供商为letencrypt
  • 申请过程遵循acme协议
  • 需要验证域名所有权,一般有两种方式(目前本项目仅支持dns-01)
    • http-01: 在网站根目录下放置一份txt文件
    • dns-01: 需要给域名添加txt解析记录,通配符域名只能用这种方式
  • 证书续期:
    • 实际上没有办法不改变证书文件本身情况下直接续期或者续签。
    • 我们所说的续期,其实就是按照全套流程重新申请一份新证书,然后重新部署上去。
  • 免费证书过期时间90天,以后可能还会缩短,所以自动化部署必不可少
  • 设置每天自动运行,当证书过期前20天,会自动重新申请证书并部署

七、不同平台的设置说明

  • Cloudflare
  • 腾讯云
  • windows主机

八、问题处理

7.1 忘记管理员密码

解决方法如下:

  1. 修改docker-compose.yaml文件,将环境变量certd_system_resetAdminPassword改为true
services:certd:environment: # 环境变量- certd_system_resetAdminPassword=false
  1. 重启容器
docker compose up -d
docker logs -f --tail 500 certd
# 观察日志,当日志中输出“重置1号管理员用户的密码完成”,即可操作下一步
  1. 修改docker-compose.yaml,将certd_system_resetAdminPassword改回false
  2. 再次重启容器
docker compose up -d
  1. 使用admin/123456登录系统,请及时修改管理员密码

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/388270.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringMVC源码解析(二):请求执行流程

SpringMVC源码系列文章 SpringMVC源码解析(一):web容器启动流程 SpringMVC源码解析(二):请求执行流程 目录 前言DispatcherServlet入口一、获取HandlerExcutionChain(包括Handler)1、获取Handler1.1、通过request获取查找路径1.2、通过查找路径获取Han…

找工作很迷茫?程序员的岗位宝典来了!

随着数字化转型进展深入,大量数字化、智能化的岗位相继涌现。 但即使这样,大家依然认为,找到一份合适的工作实在是太!难!了! 调查显示,技术创新和商业模式正在成为助推企业发展的两大动力。同时…

【iOS】——锁

五类锁 锁作为一种非强制的机制,被用来保证线程安全。每一个线程在访问数据或者资源前,要先获取(Acquire)锁,并在访问结束之后释放(Release)锁。如果锁已经被占用,其它试图获取锁的…

计算机网络必会面经

1.键入网址到网页显示,期间发生了什么 2.在TCP/IP网络模型中。TCP将数据进行分段后,为什么还需要IP层继续分片 3.详细说明tcp三次握手,为什么是三次,若每次握手丢了,解决办法是什么 4.详细说明tcp四次挥手&#xff…

【Python】python基础

本篇文章将讲解以下知识点: (1)循环语句 (2)字符串格式化 (3)运算符 一:循环语句 循环语句有两种:while for 本篇文章只讲解while循环 格式: whil…

Unity材质球自动遍历所需贴图

Unity材质球自动遍历所需贴图 文章目录 Unity材质球自动遍历所需贴图一、原理二、用法1.代码:2.使用方法 一、原理 例如一个材质球名为:Decal_Text_Cranes_01_Mat , 然后从全局遍历出:Decal_Text_Cranes_01_Albedo赋值给材质球的…

【网络基础】初识网络 {计算机网络背景;网络协议初识;网络传输基本流程;网络中的地址管理;网络设备简单介绍}

一、计算机网络背景 1.1 网络发展 计算机网络的发展可以追溯到20世纪60年代,那时候最初的计算机网络只是为了让科学家们能够共享计算机资源和数据。但是在20世纪80年代,互联网的出现彻底改变了计算机网络的面貌,使得人们可以随时随地通过互…

AI剪辑短视频以及账号管理矩阵工具系统搭建开发

目录 前言 一、系统有哪些功能? 二、怎么开发 前言 通过AI剪辑短视频以及生成短视频,以及对自媒体账号的管理功能的功能进行开发。这款系统能够批量混合剪辑视频然后一键发布到绑定好的自媒体账号里面。 一、系统有哪些功能? 1.AI智能文…

【深度学习实战(49)】目标检测损失函数:IoU、GIoU、DIoU、CIoU、EIoU、alpha IoU、SIoU、WIoU原理及Pytorch实现

前言 损失函数是用来评价模型的预测值和真实值一致程度,损失函数越小,通常模型的性能越好。不同的模型用的损失函数一般也不一样。损失函数主要是用在模型的训练阶段,如果我们想让预测值无限接近于真实值,就需要将损失值降到最低…

深入探讨RCE漏洞及其防御策略

1. RCE漏洞 1.1. 漏洞原理 远程代码执行(RCE)漏洞允许攻击者远程注入并执行操作系统命令或代码,从而控制后台系统。 1.2. 漏洞产生条件 调用第三方组件存在代码执行漏洞。用户输入内容作为系统命令参数拼接到命令中。对用户输入的过滤不严…

汽车雷达系统集成

汽车雷达系统集成是实现高级驾驶辅助系统(ADAS)和自动驾驶功能的重要环节,它涉及多种硬件和软件的协同工作。以下将详细讲解汽车雷达系统集成的各个方面: 雷达传感器选择 毫米波雷达:毫米波雷达主要使用24GHz和77GHz频…

【SQL Server点滴积累】SQL Server 2016数据库邮件(Database Mail)功能故障的解决方法

今天和大家分享SQL Server 2016数据库邮件(Database Mail)功能故障的解决方法 故障现象: 在SQL Server 2016中配置完成数据库邮件(Database Mail)功能后,当你尝试发送测试邮件后,既收不到测试邮件,也不显示错误消息 KB3186435 -…

Windows + Ubuntu双系统!小白轻松安装

前言 这几天有小伙伴想着装WindowsUbuntu双系统,但苦于找不到办法,就在某篇文章后台留言: 这不,今天就更新了嘛!虽然做不到有求必应,但教程帖还是可以写写的,能帮一个是一个! 今天要…

FFmpeg:多媒体处理的瑞士军刀

😎 作者介绍:欢迎来到我的主页👈,我是程序员行者孙,一个热爱分享技术的制能工人。计算机本硕,人工制能研究生。公众号:AI Sun(领取大厂面经等资料),欢迎加我的…

docker安装phpMyAdmin

直接安装phpMyAdmin需要有php环境,比较麻烦,总结了使用docker安装方法,并提供docker镜像。 1.docker镜像 见我上传的docker镜像:https://download.csdn.net/download/taotao_guiwang/89595177 2.安装 1).加载镜像 docker load …

Portainer-CE(可视化工具)一键部署+中文版

目录 Portainer 的主要功能 安装官方版2.19.5 安装中文版 2.19.5 安装中文版2.11.0 Portainer 是一个开源的图形化管理工具,用于管理 Docker 容器、Swarm 集群和 Kubernetes 集群。它提供了一个用户友好的 Web 界面,可以帮助用户更轻松地管理和监控…

[数据结构] AVL树 模拟实现AVL树

标题:[数据结构] AVL树 && 模拟实现AVL树 水墨不写bug 正文开始: 目录 (一)普通二叉搜索树的痛点 (二)AVL树简介 (1)AVL树的概念 (三)AVL树的…

《程序猿入职必会(5) · CURD 页面细节规范 》

📢 大家好,我是 【战神刘玉栋】,有10多年的研发经验,致力于前后端技术栈的知识沉淀和传播。 💗 🌻 CSDN入驻不久,希望大家多多支持,后续会继续提升文章质量,绝不滥竽充数…

为 Laravel 提供生产模式下的容器化环境:打造现代开发环境的终极指南

为 Laravel 提供生产模式下的容器化环境:打造现代开发环境的终极指南 在现代开发中,容器化已经成为一种趋势。使用 Docker 可以让我们轻松地管理和部署应用程序。本文将带你一步步构建一个高效的 Laravel 容器化环境,确保你的应用程序在开发…

一些Kafka面试题

Kafka是如何保证消息不丢失? 1.生产者发送消息到Broker丢失: 设置异步发送:发送失败则使用回调进行记录或者重发 消息重试:参数配置,可以设置重试次数 2.消息在broker中存储丢失 发送确认机制acks acks0&#xf…