Certd自动化申请和部署SSL证书并配置https

服务器使用的华为云,之前SSL证书通过配置CloudflareDNS实现的,最近华为云备案提示需修改解析至境内华为云IP,若解析境外IP,域名无需备案,需注销或取消接入备案信息,改为使用Certd自搭建证书管理工具,自动申请、续签、部署SSL证书

Certd部署

使用Docker方式部署

# 创建目录
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

其他部署方式可参照Certd部署文档

创建证书自动化流程

本示例演示从创建证书申请任务到自动部署证书全流程

申请证书->部署证书->设置定时执行->设置邮件通知

准备工作

  1. 已部署CertD服务(可官方Demo自助注册体验 https://certd.handfree.work/ )
  2. 注册一个域名(支持阿里云万网、腾讯云DnsPod、华为云)
  3. 准备好以上DNS解析服务商的AccessKeyAccessSecret
  4. 证书要部署的目标(可选,单纯当成证书申请工具用也不错)

自动化流水线创建

1.创建证书申请部署流水线

创建证书申请任务

需要添加域名的DNS解析服务商的授权
添加域名的DNS解析服务商的授权

流水线创建成功

2.流水线详情界面

到这一步申请证书就已经配置完成了。
点击手动触发,就可以申请证书了。

接下来演示如何添加部署任务

3.添加部署到阿里云CDN任务

点击添加任务

选择任务类型

填写任务参数
此处,我是用的华为云,在【华为云控制台】–【内容分发网络CDN】,购买了流量包,开启CDN服务并配置好域名之后,在CDN加速域名选项才可以选择

点击确定,部署到CDN任务配置成功

4.添加部署到服务器主机任务

点击新任务,弹出添加任务界面

先选择上传到主机任务

填写任务参数,比如证书保存路径

需要添加主机ip、用户名、密码,只需添加一次,后续其他任务可以复用

然后添加第二个任务,执行主机命令,部署证书

选择执行脚本命令任务

编写脚本,选择之前添加的主机

点击确定,部署到主机任务配置成功

5.手动触发执行任务,测试一下

点击任务可以查看状态和日志

这里执行失败,可以查看错误日志

修改正确后,重新执行

可以看到前面执行过的就会跳过,不会重复执行

6.查看证书部署效果

可以看到证书已经部署到CDN成功


也可以手动下载证书

7.定时触发

配置定时触发,以后每天定时执行
cron格式,例如: 0 0 3 * * * 表示每天凌晨3点执行
到期前35天会自动申请新证书并部署,没到期前不会重复申请

8.邮件通知

可以接收邮件通知(支持时机:开始、成功、失败、失败转成功)

需要配置邮件服务器

详细流程参照Certd演示教程

华为云CDN配置

域名管理

支持添加泛域名作为加速域名,如:在CDN添加泛域名*.test.com作为加速域名,并将*.test.com解析至CDN生成的CNAME域名后,那么您所有*.test.com的次级域名(如a.test.com)都将默认支持CDN加速。泛域名(*.test.com)的三级域名(如b.a.test.com)不会被CDN加速

此处我添加了两个域名,一个一级域名,一个二级的泛域名

源站配置

源站地址配置为你的服务器IP地址,回溯HOST是你配置的域名

回源配置

回源方式设置为HTTP,第一次设置为HTTPS导致页面无法访问

HTTPS配置

此处如果证书流水线运行成功,就会显示你申请的证书

配置强制跳转和HSTS

强制跳转可以将客户端到CDN节点的请求方式强制跳转为HTTPS
开启HSTS后,CDN将响应给客户端Strict-Transport-Security头部。客户端缓存该头部后,将自动把HTTP请求转为HTTPS请求访问CDN节点,提升访问安全性。

CNAME配置

如果已成功添加CDN加速域名,系统会自动为CDN加速域名分配对应的CNAME域名。加速域名在CDN服务中获得的CNAME域名不能直接访问,必须在加速域名的域名服务商处配置CNAME记录,将加速域名指向CNAME域名,访问加速域名的请求才能转发到CDN节点上,达到加速效果。

1.在域名管理页面,复制CDN加速域名对应的CNAME域名
2.在DNS解析页面,将原本的A记录类型均改为CNAME域名解析

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

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

相关文章

git tag以及git

git tag 以及git 一、先说收获吧 1. git bash 在windows上 类似于linux的bash提供的shell命令行窗口,可以执行很多linux命令,cd pwd ls vim cat touch mkdir,还可以用正则匹配查看标签。相当于在windows上装了一个小的linux。git init myproj…

ESP8266通过AT指令配置双向透传

一、固件烧录 IO0接地后上电,进入烧录模式,烧录完成后去掉即可 二、参数配置 1、服务器端 ATCWMODE_DEF2 ATCWSAP_DEF"ESP8266","12345678",5,3 ATSAVETRANSLINK1,"192.168.4.2",9090,"UDP",8080 2、客户端…

【3D模型】【游戏开发】【Blender】Blender模型分享-狮头木雕附导入方法

导入方法: [Blender] 如何导入包含纹理的 .blend 模型文件 在 3D 建模和渲染工作中,Blender 是一款功能强大的免费开源软件。很多时候,我们需要导入 .blend 后缀的模型文件,同时确保纹理(textures)文件夹…

C# | 超简单CSV表格读写操作(轻松将数据保存到CSV,并支持读取还原)

C# | 超简单CSV表格读写操作(轻松将数据保存到CSV,并支持读取还原) 文章目录 C# | 超简单CSV表格读写操作(轻松将数据保存到CSV,并支持读取还原)一、上位机开发中的CSV应用背景二、CSV读写实战教学1. 基本对…

Git push后撤销提交

一、介绍 当某次更改完工程后,push了本地仓库到云端,但是发现有地方改错了,想撤销这次推送,或者某次提交就更改了很小一部分,想和本地这次修改的合并为一次推送,省的在云端显示特别多次提交,显得…

Unity导出WebGL,无法显示中文

问题:中文无法显示 默认字体无法显示中文 在编辑器中设置了中文和英文的按钮,中文按钮无法显示 导出后无法显示中文 解决办法: 自己添加字体,导入项目,并引用 示例 下载一个字体文件,这里使用的阿里…

阅读《Vue.js设计与实现》 -- 02

接上一篇文章:阅读《Vue.js设计与实现》 – 01 文章目录 第二章提升用户的开发体验tips 控制框架代码的体积Tree-Shaking副作用 框架应该输出怎样的构建产物?注意这两个文件有什么区别? 特性开关如何实现? 处理错误TS支持 第二章 …

Mac:Ant 下载+安装+环境配置(详细讲解)

📌 下载 Ant 下载地址:https://ant.apache.org/bindownload.cgi 📌 无需安装 Apache官网下载 Ant 压缩包,无需安装,下载解压后放到自己指定目录下即可。 按我自己的习惯,我会在用户 jane 目录下新建了个…

qt图表背景问题

从代码来看,这段代码涉及到设置背景透明度和背景可见性的操作,主要是在一个基于Qt框架的图形界面程序中对某个图表控件(fontChart)和视图控件(fontChartView)进行操作。以下是每行代码的作用以及它们之间的…

蓝桥杯国赛子串2023动态规划,暴力

#include <bits/stdc.h> using namespace std; // string ss; #define int long long string s; //该方法通过动态规划&#xff0c;找到2023字串&#xff0c;而2023等于202加3&#xff0c;202等于202&#xff0c;20等于20&#xff1b; int f2() {int dp[4]{0};//dp[0]代表…

uni-app——网络API

uni-app 网络API 在 uni-app 开发中&#xff0c;网络请求是获取数据与和服务器交互的重要手段。以下介绍 uni-app 中常见的网络 API&#xff0c;包括发起请求、上传和下载以及 WebSocket、UDP 通信等方面。 发起请求 在 uni-app 里&#xff0c;使用uni.request(OBJECT)来发起…

计算机网络笔记再战——理解几个经典的协议HTTP章3

理解几个经典协议——HTTP章3 返回结果的HTTP状态码 ​ 我们知道&#xff0c;ICMP可以传递IP通信时候的状态如何。HTTP虽然没有辅助的解析&#xff0c;但是它可以使用状态码来表达我们的HTTP请求的结果&#xff0c;标记服务器端的处理是否正常、通知出现的错误等工作。这就是…

国产编辑器EverEdit - Hex Dump插件:看到文本的另一面!

1 Hex Dump插件 1.1 应用场景 有时可能需要显示字母的ASCII编码&#xff0c;或其他文字的字节编码&#xff0c;可以使用Hex Dump插件来完成 1.2 使用方法 安装Hex Dump插件&#xff0c;安装插件方法参考&#xff1a;扩展管理 在编辑器中选中文本&#xff0c;选择扩展 -> …

《驾驭MXNet:深度剖析分布式深度学习训练的高效之道》

在深度学习的迅猛发展进程中&#xff0c;模型的规模和复杂性持续攀升&#xff0c;对计算资源的需求也愈发苛刻。单机训练在面对大规模数据集和复杂模型结构时&#xff0c;常常显得力不从心。分布式深度学习训练成为解决这一困境的关键途径&#xff0c;而MXNet作为一款强大的开源…

Vue3项目开发:状态管理实践指南

# Vue3项目开发&#xff1a;状态管理实践指南 一、引言 背景介绍 在Vue项目中&#xff0c;状态管理是一个非常重要的话题。合理的状态管理能够帮助我们更好地组织和管理数据&#xff0c;提升项目的可维护性和可扩展性。本文将深入探讨Vue3项目中状态管理的最佳实践&#xff0c;…

网络安全漏洞与修复 网络安全软件漏洞

文章目录 一、软件漏洞的概念 1、信息安全漏洞简述2、软件漏洞3、软件漏洞概念4、软件漏洞的成因分析 二、软件漏洞标准化管理 1、软件漏洞分类2、软件漏洞分级3、安全漏洞管理规范 一、软件漏洞的概念 1、信息安全漏洞简述 信息安全漏洞是信息安风险的主要根源之一&…

SpringBoot项目controller层接收对应格式请求的相关RequestMapping配置

目录 &#xff08;1&#xff09; &#xff08;2&#xff09; &#xff08;3&#xff09; 注&#xff1a;此情况注意和&#xff08;4&#xff09;中情况进行区分 &#xff08;4&#xff09; 在几个springboot项目开发后&#xff0c;我总结了以下的一些常见的接收对应请求的…

2025年图生视频模型技术全景解析

一、开源图生视频模型 阿里通义万象Wan2.1系列 I2V-14B-480P&#xff1a; 14B参数基础模型支持480P分辨率图生视频显存需求16GB以上 I2V-14B-720P&#xff1a; 高清增强版模型采用分帧渲染技术&#xff0c;输出分辨率达1280720 技术特性&#xff1a; 支持中文提示词自动解析内置…

一场由 ES 分片 routing 引发的问题

一场由 ES 分片 routing 引发的问题 ES 结构 {"poroperties": {"joinType": {"type": "join","eager_global_ordinals": true,"relations": {"spu": "sku"}},"id":{"type&q…

Linux信号的处理

目录 一、信号处理概述&#xff1a;为什么需要“信号”&#xff1f; 二、用户空间与内核空间&#xff1a;进程的“双重人格” 三、内核态与用户态&#xff1a;权限的“安全锁” 四、信号捕捉的内核级实现&#xff1a;层层“安检” 五、sigaction函数&#xff1a;精细控制信…