使用 PVE 自签 CA 证书签发新证书
前言
PVE 安装时会自动创建一个有效期 10 年的 CA 证书, 我们可以利用这个 CA 证书给虚拟机中的 Web 应用签发新的 TLS 证书用于提供 HTTPS 服务. 下面以 PVE 虚拟机中通过 Docker 跑的一个 雷池 应用为例进行演示.
PVE 证书位置
官方文档: https://pve.proxmox.com/wiki/Proxmox_Cluster_File_System_(pmxcfs)#chapter_pmxcfs 下面我们只需要用到这两个文件:
文件 | 说明 |
---|---|
/etc/pve/priv/pve-root-ca.key | CA 私钥 |
/etc/pve/pve-root-ca.pem | CA 证书 |
本地导入 CA 证书
Windows 系统运行 certmgr.msc
> Trusted Root Certification Authorities > Certificates > All Tasks > Import 选择 pve-root-ca.pem
完成导入. 这样本地电脑就会信任 PVE 的 CA 证书, 后面用 CA 证书签发的应用证书也会继承信任.
签发新证书
SSH 到 PVE.
# 在 `subjectAltName` 中定义了两个 DNS 名称, 保证内网和外网两个域名都能识别
openssl req -new -subj "/C=CN/ST=Beijing/L=Beijing/O=Alian/CN=docker.alian.fun" \
-addext "subjectAltName = DNS:docker.lan, DNS:docker.alian.fun" \
-CA /etc/pve/pve-root-ca.pem -CAkey /etc/pve/priv/pve-root-ca.key \
-noenc -newkey rsa:2048 -keyout leichi.key -out leichi.pem# 得到两个文件: 证书私钥 leichi.key 证书本体 leichi.pem # 检查证书信息
openssl x509 -noout -text -in leichi.pem
展开解释 openssl 命令参数含义 openssl req 完整文档
-new
创建新的证书申请-subj
定义 Subject 信息-addext
添加额外的subjectAltName
属性用于定义多个别名 DNS-CA
指定 CA 证书位置-CAkey
指定 CA 私钥位置-noenc
对证书私钥不加密 (老版本 openssl 中用的是-nodes
已 deprecated)-newkey
创建新的证书私钥, 使用 2048 位长度 RSA 算法-keyout
证书私钥输出的文件名-out
证书本地输出的文件名
使用证书
在雷池管理后台分别粘贴/上传签发好的证书和私钥
证书信息被成功识别:
切换控制台证书生效:
刷新浏览器:
附: 校验证书和私钥
证书和私钥的模数(modulus)必须完全匹配才算是一对
# 计算证书模数
openssl x509 -noout -modulus -in pve-ssl.pem
# 计算私钥模数
openssl rsa -noout -modulus -in pve-ssl.key
相关文章:
使用 PVE 自签 CA 证书签发新证书
前言 PVE 安装时会自动创建一个有效期 10 年的 CA 证书, 我们可以利用这个 CA 证书给虚拟机中的 Web 应用签发新的 TLS 证书用于提供 HTTPS 服务. 下面以 PVE 虚拟机中通过 Docker 跑的一个 雷池 应用为例进行演示. PVE 证书位置 官方文档: https://pve.proxmox.com/wiki/Pr…...
ubuntu 22.04安装Eigen
1 安装 git clone https://gitlab.com/libeigen/eigen.gitcd eigen mkdir build cd build cmake ..sudo make install... -- Installing: /usr/local/include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry -- Installing: /usr/local/include/eigen3/unsupported/Eige…...
vue使用audio 音频实现播放与关闭(可用于收到消息给提示音效)
这次项目中因为对接了即时通讯 IM,有个需求就是收到消息需要有个提示音效,所以这里就想到了用HTML5 提供的Audio 标签,用起来也是很方便,首先让产品给你个提示音效,然后你放在项目中,使用Audio 标签&#x…...
STM32 产生Hard Fault 调试方法
STM32 产生hard-fault 调试方法 需求 当STM32 产生Hard Fault的时候我们希望可以打印出一些重要的寄存器信息,然后定位代码出错的地方。 参考 https://github.com/ferenc-nemeth/arm-hard-fault-handler 原理 STM32代码运行的时候一般在是main函数while(1)中循…...
java-selenium 截取界面验证码图片并对图片文本进行识别
参考链接 1、需要下载Tesseract工具并配置环境变量,步骤如下 Tesseract-OCR 下载安装和使用_tesseract-ocr下载-CSDN博客 2、需要在IDEA中导入tess4j 包;在pom.xml文件中输入如下内容 <!--导入Tesseract 用于识别验证码--><dependency>&l…...
【Linux】进程信号 --- 信号产生
👦个人主页:Weraphael ✍🏻作者简介:目前正在学习c和算法 ✈️专栏:Linux 🐋 希望大家多多支持,咱一起进步!😁 如果文章有啥瑕疵,希望大佬指点一二 如果文章对…...
Docker 容器中的 Docker Compose 简介
Docker Compose是什么 Docker Compose是一个用于定义和运行多个Docker容器的工具。它是Docker官方提供的开源项目,用于实现对Docker容器集群的快速编排。通过Compose,开发者可以使用YAML文件(通常是docker-compose.yml文件)来配置…...
手机日历如何与Outlook同步
有很多人和我一样遇到手机日历与Outlook同步问题,如新版outlook与小米日历的同步问题 - Microsoft Community,outlook账号无法在手机端自带的电子邮件App以exchange模式登录 - Microsoft Community,在安卓手机端无法电子邮件App以exchange模式…...
python基础语法 007 文件操作-1读取写入
1 文件操作 1.1 什么时候用文件操作? 打开文档写东西看东西拿文档做统计 在python 文档操作作用 存储数据读取数据 打开文件有什么用? 读取数据,写入数据不管什么数据都可以用open打开,如可复制一张图片 1.2 open() 读取,…...
C语言·函数(超详细系列·全面总结)
前言:Hello大家好😘,我是心跳sy,为了更好地形成一个学习c语言的体系,最近将会更新关于c语言语法基础的知识,今天更新一下函数的知识点,我们一起来看看吧! 目录 一、函数是什么 &a…...
Windows及Linux系统加固
君衍. 一、Windows加固1、配置简介2、账户配置3、本地配置4、安全设置 二、Linux加固1、配置简介2、网络配置3、日志和审计配置4、访问认证和授权配置5、系统运维配置 一、Windows加固 1、配置简介 通常在Windows安全配置中有两类对象 一类是Windows Server,如win …...
Postman安装使用教程(详解)
目录 一、Postman是什么 二、安装系统要求 三、下载Postman 四、注册和登录Postman 五、创建工作空间 六、创建请求 一、Postman是什么 在安装之前,让我们先来简单了解一下Postman。Postman是一个流行的API开发工具,它提供了友好的用户界面用于发送…...
【嵌入式开发之标准I/O】文件I/O的基本概念,打开、关闭、定位函数及实例
文件I/O和标准I/O 什么是文件I/O?什么是标准I/O? 文件I/O:文件I/O又称系统IO,系统调用,称之为不带缓存的IO(unbuffered I/O)。是操作系统提供的API接口函数。不带缓存指的是每个read,write都调用内核中的一个系统调…...
C++文件操作-文本文件-读文件
第一种 #include<iostream>//1、包含头文件 fstream #include<fstream> using namespace std;void test01() {//2、创建流对象ifstream ifs;//3、打开文件 并且判断是否打开成功ifs.open("test.txt", ios::in);if (!ifs.is_open()){cout << "…...
二叉树精选面试题
💎 欢迎大家互三:2的n次方_ 1. 相同的树 100. 相同的树 同时遍历两棵树 判断结构相同:也就是在遍历的过程中,如果有一个节点为null,另一棵树的节点不为null,那么结构就不相同 判断值相同:只需…...
如何在 Android 中删除和恢复照片
对于智能手机用户来说,相机几乎已经成为一种条件反射:你看到值得注意的东西,就拍下来,然后永远保留这段记忆。但如果那张照片不值得永远保留怎么办?众所周知,纸质快照拿在手里很难舍弃,而 Andro…...
HarmonyOS Next原生应用开发-从TS到ArkTS的适配规则(六)
一、仅支持一个静态块 规则:arkts-no-multiple-static-blocks 级别:错误 ArkTS不允许类中有多个静态块,如果存在多个静态块语句,请合并到一个静态块中。 TypeScript class C {static s: stringstatic {C.s aa}static {C.s C.s …...
功能测试与APPSCAN自动化测试结合的提高效率测试策略
背景 手工探索性测试(Manual Exploratory Testing,简称MET)是一种软件测试方法,它依赖于测试人员的直觉、经验和即兴发挥来探索应用程序或系统。与传统的脚本化测试相比,手工探索性测试不遵循固定的测试脚本࿰…...
AVL树的理解和实现[C++]
文章目录 AVL树AVL树的规则或原理 AVL树的实现1.节点的定义2.功能和接口等的实现默认构造函数,析构函数拷贝构造函数插入搜索打印函数检查是否为平衡树,检查平衡因子旋转 AVL树 AVL树,全称Adelson-Velsky和Landis树,是一种自平衡…...
云计算遭遇的主要安全威胁
以下是详细说明云计算遭遇的所有主要安全威胁: 1. 数据泄露 描述:数据泄露是指未经授权的情况下访问和获取敏感数据。云计算环境中的数据泄露通常由于不安全的配置、软件漏洞或内部威胁造成。 案例: Capital One数据泄露:2019…...
[MySQL]02 存储引擎与索引,锁机制,SQL优化
Mysql存储引擎 可插拔式存储引擎 索引是在存储引擎底层上实现的 inno DB MySQL默认存储引擎: inno DB高可靠性和高性能的存储引擎 DML操作遵循ACID模型支持事务行级锁,提高并发访问性能支持外键 约束,保证数据完整性和可靠性 MySAM MySAM是MySQL的早期引擎 特点: 不支持事…...
ld,GNU 链接器介绍以及命令行参数详解
ld,GNU 链接器介绍以及命令行参数详解 当我们使用GCC编译源代码生成可执行程序,经过预处理、汇编、编译、链接四个阶段。 链接器(Linker)将多个目标文件和库文件链接起来,链接器还解决目标文件之间的符号引用ÿ…...
[web]-反序列化-base64
看到源码 <?php error_reporting(0); class A {public $contents "hello ctfer";function __toString(){if ((preg_match(/^[a-z]/i,$this->contents))) {system("echo $this->contents");return 111;}else{return "...";}} }functi…...
【医学影像】RK3588+FPGA:满足远程诊疗系统8K音视频编解码及高效传输需求
医学影像 提供基于Intel平台、NXP平台、Rockchip平台的核心板、Mini-ITX主板、PICO-ITX主板以及工业整机等计算机硬件。产品板载内存,集成超高清编码/解码视频引擎,具有出色的数据处理能力和图形处理能力,功能高集成,可应用于超声…...
昇思25天学习打卡营第16天|基于MindSpore通过GPT实现情感分类
文章目录 昇思MindSpore应用实践1、基于MindSpore通过GPT实现情感分类GPT 模型(Generative Pre-Training)简介imdb影评数据集情感分类 2、Tokenizer导入预训练好的GPT3、基于预训练的GPT微调实现情感分类 Reference 昇思MindSpore应用实践 本系列文章主…...
服务器借助笔记本热点WIFI上网
一、同一局域网环境 1、当前环境,已有交换机组网环境,服务器已配置IP信息。 设备ip服务器125.10.100.12交换机125.10.100.0/24笔记本125.10.100.39 2、拓扑图 #mermaid-svg-D4moqMym9i0eeRBm {font-family:"trebuchet ms",verdana,arial,sa…...
开发实战中Git的常用操作
Git基础操作 1.初始化仓库 git init解释:在当前目录中初始化一个新的Git仓库。 2.克隆远程仓库 git clone <repository-url>解释:从远程仓库克隆一个完整的Git仓库到本地。 3.检查当前状态 git status解释:查看当前工作目录的状态…...
python调用chrome浏览器自动化如何选择元素
功能描述:在对话框输入文字,并发送。 注意: # 定位到多行文本输入框并输入内容。在selenium 4版本中,元素定位需要填写父元素和子元素名。 textarea driver.find_element(By.CSS_SELECTOR,textarea.el-textarea__inner) from …...
深入理解JS中的排序
在JavaScript开发中,排序是一项基础而重要的操作。本文将探讨JavaScript中几种常见的排序算法,包括它们的原理、实现方式以及适用场景。 1、冒泡排序 1.1、原理 通过比较相邻两个数的大小,交换位置排序:如果后一个数比前一个数小,则交换两个数的位置,重复这个过程,直…...
Kafka之存储设计
文章目录 1. 分区和副本的存储结构1. 分区和副本的分布2. 存储目录结构3. 文件描述 2. 相关配置3. 数据文件类型4. 数据定位原理LogSegment 类UnifiedLog 类 5. 副本数据同步HW水位线LEO末端偏移量HW更新原理 6. 数据清除 1. 分区和副本的存储结构 在一个多 broker 的 Kafka 集…...
网站建设合同附加协议/百度西安分公司地址
1.Configuration有什么用? configuration 2.Spring是如何获取Bean的定义的? 1):通过启动一个AnnotationConfigApplicationContext 来引导这个Configuration 注解的类,比如: AnnotationConfigApplicationCo…...
python可以做复杂网站/今日时政新闻热点
一、异常实现及分类1.先看下异常类的结构图上图可以简单展示一下异常类实现结构图,当然上图不是所有的异常,用户自己也可以自定义异常实现。上图已经足够帮我们解释和理解异常实现了:java相关免费视频教程:java教学视频1.所有的异…...
哪个小说网站版权做的好/官网建设
因为Bzoj是权限题,所以可以去清橙做一下 Sol 突然考了一道这样的题,考场上强行\(yy\)出来了win下评测Long double爆零TAT 首先肯定是破环为链变成序列问题辣 那么就要求第一个的颜色和最后的颜色不同 怎么统计,枚举前面有多长和右面有多长长度…...
山东省住房和城乡城乡建设厅网站/seo软文是什么
最近DIY了个电子作品,主控选的stm32,之前我总结过STM32CubeMX使用教程,那会STM32CubeIDE还没出来,但是现在既然已经更新了,那就用最新的工具。 这篇主要就是介绍下STM32CubeIDE,下面的内容就是官网参数,包括后边的下载和参考资料也都是优先建议从官网获取 STM32CubeIDE介…...
wordpress产品页名称/百度指数使用指南
// 默认情况下new eventbase struct event_base * event_base_new(void) {struct event_base *base NULL;//初始化系统配置struct event_config *cfg event_config_new(); // 使用默认的配置方法if (cfg) {//再利用事件的系统配置去初始化base eventbase event_base_new_wit…...
网上贸易平台有哪些/武汉seo认可搜点网络
1、模块 模块尽量使用小写命名,首字母保持小写,尽量不要用下划线(除非多个单词,且数量不多的情况) # 正确的模块名 import decoder import html_parser# 不推荐的模块名 import Decoder 2、类名 类名使用驼峰(CamelCase)命名风格࿰…...