当前位置: 首页 > news >正文

.NET 8 kestrel 配置PEM,实现内网https

一、生成证书

mkcert 是一个简单的工具,用于制作本地信任的开发证书。它不需要配置。

mkcert官方仓库地址:GitHub - FiloSottile/mkcert: A simple zero-config tool to make locally trusted development certificates with any names you'd like.

简化我们在本地搭建 https 环境的复杂性,无需操作繁杂的 openssl 实现自签证书了,这个工具就可以帮助我们自签证书,在本机使用还会自动信任 CA,非常方便。

下载安装

下载地址:Releases · FiloSottile/mkcert · GitHub

 

安装mkcert。将CA证书加入本地可信CA,使用此命令,就能帮助我们将mkcert使用的根证书加入了本地可信CA中,以后由该CA签发的证书在本地都是可信的。下载后到下载目录中安装: 

mkcert-v1.4.4-windows-amd64.exe -install

 

 安装成功成功。提示创建一个新的本地CA,本地CA现在已安装在系统信任存储中。

查看根证书位置

如果你想查看根证书位置,可以输入命令:

 

生成自签证书

直接跟多个要签发的域名或 ip 就行了,比如签发一个仅本机访问的证书(可以通过127.0.0.1localhost,以及 ipv6 地址::1访问):

mkcert-v1.4.4-windows-amd64.exe localhost 127.0.0.1 ::1 192.168.2.25

 

在mkcert软件同目录下,生成了自签证书。如图所示: 

 

二、NET 8 kestrel 使用证书

证书复制到wwwoort下

例如wwwoort/pem下

Program.cs的编辑代码

public static IHostBuilder CreateWebHostBuilder(string[] args)
{//读取证书var rootpath = Directory.GetCurrentDirectory();var certPem = File.ReadAllText(rootpath + "/wwwroot/pem/localhost+3.pem");var keyPem = File.ReadAllText(rootpath + "/wwwroot/pem/localhost+3-key.pem");var x509 = X509Certificate2.CreateFromPem(certPem, keyPem);returnHost.CreateDefaultBuilder(args).ConfigureAppConfiguration((hostingContext, config) =>{config.AddInMemoryCollection(new Dictionary<string, string> { { "HostRoot", hostingContext.HostingEnvironment.ContentRootPath } });}).ConfigureLogging((hostingContext, logging) =>{logging.ClearProviders();logging.AddConsole();logging.AddWTMLogger();}).ConfigureWebHostDefaults(webBuilder =>{webBuilder.ConfigureKestrel(serverOptions =>{//https 5001serverOptions.ListenAnyIP(5001, listenOptions =>{listenOptions.UseHttps(x509);});//http 5000   serverOptions.ListenAnyIP(5000);});webBuilder.UseStartup<Startup>();});
}

完成https自签名证书配置。

注意:PEM证书在Windows环境下,无论是开发还是部署,均无法正常使用。必须在liunx环境下使用。Windows环境下的证书格式为pfx。

相关文章:

.NET 8 kestrel 配置PEM,实现内网https

一、生成证书 mkcert 是一个简单的工具&#xff0c;用于制作本地信任的开发证书。它不需要配置。 mkcert官方仓库地址&#xff1a;GitHub - FiloSottile/mkcert: A simple zero-config tool to make locally trusted development certificates with any names youd like. 简…...

ERP系统如何做好工厂生产管理?4种ERP先进生产管理模式分享!

现代企业先进的生产管理方式有哪些&#xff1f;相信很多被生产效率问题困扰、谋求转型的企业都思考过这个问题。 放在以前&#xff0c;工厂靠老师傅经验、主管“凭感觉”安排生产&#xff0c;材料、设备、交期全靠人盯。那是因为20年前市场稳定&#xff0c;这套办法还行得通。…...

HttpServletRequest常用功能简介-笔记

javax.servlet.http.HttpServletRequest 是 ServletRequest 接口的子接口&#xff0c;专用于处理 HTTP 协议相关的请求。它提供了访问请求行、请求头、请求参数以及请求属性等方法。 1.请求行&#xff08;Request Line&#xff09; ✅ 功能说明 请求行包含客户端发送的 HTTP …...

基于面向对象设计的C++日期推算引擎:精准高效的时间运算实现与运算重载工程化实践

前引&#xff1a; 在软件开发中&#xff0c;时间与日期的处理是基础但极具挑战性的任务。传统的手工日期运算逻辑往往面临闰年规则、月份天数动态变化、时区转换等复杂场景的容错难题&#xff0c;且代码冗余度高、可维护性差。本文将深入探讨如何利用C的面向对象特性与成员函数…...

记一次bug排查(.exe链接mysql失败)-每天学习一点点

哎! 从来没有接手过的项目, .exe项目, 链接服务器失败 报错:"unable to connect to any of the specified mySQL hosts" 虽然不懂c的代码, 也没法反编译.exe项目, 还是像挑战尝试一下解决这个问题. 明面看就是链接mysql失败. 但是mysql对应的服务器地址是啥呢? …...

U盘启动CentOS安装与网卡驱动修复指南

遇到CentOS安装找不到盘符如何解决 1、进入安装页面&#xff0c;点击e进入修改 2、找到自己的U盘&#xff0c;修改完成后按下"ctrlx"执行继续后续安装 vmlinuz initrdinitrd.imginst.stage2hd:LABEL... quiet 改为&#xff08;具体的U盘启动需要根据实际情况进行查找…...

【物联网】基于树莓派的物联网开发【3】——最新镜像下载和烧录

使用场景 程序猫将带领大家全面了解树莓派&#xff0c;包括从0到1组装&#xff0c;散热片、外壳、风扇安装&#xff0c;官网最新镜像下载及烧录等一系列操作&#xff01; 树莓派必备配件 1、TF卡&#xff08;SD内存卡&#xff09;品牌闪迪&#xff1a;16G以上 2、type-c充电…...

K8S Gateway API 快速开始、胎教级教程

假设有如下三个节点的 K8S 集群&#xff1a; ​​ k8s31master 是控制节点 k8s31node1、k8s31node2 是工作节点 容器运行时是 containerd 一、Gateway 是什么 背景和目的 入口&#xff08;Ingress&#xff09;目前已停止更新。新的功能正在集成至网关 API 中。在 Kubernetes …...

js关于number类型的计算问题

js中关于number类型的计算 因&#xff1a;在js中&#xff0c;number类型是用于表示数值的基本类型&#xff0c;它遵循 IEEE 754 双精度浮点数&#xff08;64 位&#xff09;标准。这导致在某些计算中可能出现精度问题。 例&#xff1a;console.log(0.1 0.2); // 0.300000000…...

GPT-4o 遇强敌?英伟达 Eagle 2.5 视觉 AI 王者登场

前言&#xff1a; 在人工智能领域&#xff0c;视觉语言模型的竞争愈发激烈。GPT-4o 一直是该领域的佼佼者&#xff0c;但英伟达的 Eagle 2.5 横空出世&#xff0c;凭借其 80 亿参数的精简架构&#xff0c;在长上下文多模态任务中表现出色&#xff0c;尤其是在视频和高分辨率图像…...

2025最新ChatGPT Plus令牌(Token)限制完全指南:每日/每月用量详解与突破方法

2025最新ChatGPT Plus令牌(Token)限制完全解析&#xff1a;真相、误区与突破方案 对于支付$20/月订阅费的ChatGPT Plus用户来说&#xff0c;"我的ChatGPT Plus每月有多少token限制&#xff1f;"是一个普遍关心却常被误解的问题。随着越来越多人依赖AI工作和学习&…...

二叉树深搜:在算法森林中寻找路径

专栏&#xff1a;算法的魔法世界 个人主页&#xff1a;手握风云 目录 一、搜索算法 二、回溯算法 三、例题讲解 3.1. 计算布尔二叉树的值 3.2. 求根节点到叶节点数字之和 3.3. 二叉树剪枝 3.4. 验证二叉搜索树 3.5. 二叉搜索树中第 K 小的元素 3.6. 二叉树的所有路径 …...

力扣310.最小高度树(拓扑排序,无向图),力扣.加油站力扣.矩阵置零​​​力扣.二叉树中的最大路径和

目录 力扣310.最小高度树(拓扑排序&#xff0c;无向图) 力扣.加油站 力扣.矩阵置零​​​ 力扣.二叉树中的最大路径和 力扣310.最小高度树(拓扑排序&#xff0c;无向图) 当他是最小高度树时候&#xff0c;树根必定是中心节点&#xff0c;且中心节点一定一两个&#xff0c;且…...

Java并发编程:CAS操作

1. 简介 CAS 全称是 Compare-and-Swap&#xff0c;即比较加交换&#xff0c;假设我们要对内存中的某个地址进行 CAS 操作&#xff0c;该地址当前值是 V&#xff0c;我们给定预期值 A 和新值 B&#xff0c;如果 V A&#xff0c;那么就将该地址的值更新为 B 并返回 true&#xf…...

InforSuite RDS 与django结合

InforSuite RDS&#xff08;关系型数据库服务&#xff09;是浪潮提供的托管式数据库服务&#xff0c;通常支持 MySQL、PostgreSQL、SQL Server 等主流数据库。将 Django 与 InforSuite RDS 结合使用&#xff0c;主要涉及数据库配置、连接优化、安全策略等环节。以下是详细的整合…...

【匹配】Needleman–Wunsch

Needleman-Wunsch 文章目录 Needleman-Wunsch1. 算法介绍2. 公式及原理3. 伪代码 1. 算法介绍 背景与目标 Needleman–Wunsch 算法由 Saul B. Needleman 和 Christian D. Wunsch 于1970年提出&#xff0c;是用于生物序列&#xff08;如蛋白质或 DNA&#xff09;全局比对&#x…...

Spring Boot 拦截器:解锁5大实用场景

一、Spring Boot中拦截器是什么 在Spring Boot中&#xff0c;拦截器&#xff08;Interceptor&#xff09;是一种基于AOP&#xff08;面向切面编程&#xff09;思想的组件&#xff0c;用于在请求处理前后插入自定义逻辑&#xff0c;实现权限校验、日志记录、性能监控等非业务功能…...

DVWA靶场通关笔记-SQL注入(SQL Injection Medium级别)

目录 一、SQL Injection 二、代码审计&#xff08;Medium级别&#xff09; 1、源码分析 &#xff08;1&#xff09;index.php &#xff08;2&#xff09;Medium.php 2、渗透思路 &#xff08;1&#xff09;SQL安全问题分析 &#xff08;2&#xff09;SQL渗透思路 三、…...

西瓜书【机器学习(周志华)】目录

第一部分&#xff1a;基础概念 机器学习概述 1.1 人工智能与机器学习1.2 机器学习分类1.3 机器学习应用1.4 机器学习常用术语解释 模型的评估与选择 2.1 经验误差与过拟合2.2 评估方法2.3 性能度量2.4 偏差与方差 第二部分&#xff1a;核心算法 线性模型 3.1 什么是回归3.2 …...

【漫话机器学习系列】260.在前向神经网络中初始权重(Initializing Weights In Feedforward Neural Networks)

前向神经网络中的权重初始化策略详解 在神经网络模型中&#xff0c;“初始化”常常被认为只是模型训练前的一个小步骤&#xff0c;但它却可能决定了整个网络能否高效收敛&#xff0c;是否会出现梯度爆炸或消失的问题。今天&#xff0c;我们通过一张生动的手绘图&#xff0c;来…...

每日Prompt:磨砂玻璃后的虚实对比剪影

提示词 一张黑白照片&#xff0c;展示了一个[主体]在磨砂或半透明表面后的模糊剪影。其[部分]轮廓清晰&#xff0c;紧贴表面&#xff0c;与其余朦胧、模糊的身影形成鲜明对比。背景是柔和的灰色渐变色调&#xff0c;增强了神秘和艺术的氛围。...

2025年长三角+山东省赛+ 认证杯二阶段资料助攻说明

长三角高校数模B题 完整论文代码已经在售后群 网盘链接 发布 长三角更新时间轴 5.15 23:00 B站发布 完整论文讲解视频 5.16 18:00 j降重说明 5.17 22:00 无水印版本可视化无水印代码 其余时间 写手老师 售后群在线答疑 山东省助攻C道 认证杯二阶段助攻C题 山东省认证杯…...

课程11. 计算机视觉、自编码器和生成对抗网络 (GAN)

计算机视觉、自编码器和生成对抗网络&#xff08;GAN&#xff09; 自动编码器Vanilla自动编码器使用 AE 生成新对象. 变分 AE (VAE)AE 条件 GAN理论示例下载并准备数据GAN模型 额外知识 课程计划&#xff1a; 自动编码器&#xff1a; 自动编码器结构&#xff1b;使用自动编码器…...

机器学习第十二讲:特征选择 → 选最重要的考试科目做录取判断

机器学习第十二讲&#xff1a;特征选择 → 选最重要的考试科目做录取判断 资料取自《零基础学机器学习》。 查看总目录&#xff1a;学习大纲 关于DeepSeek本地部署指南可以看下我之前写的文章&#xff1a;DeepSeek R1本地与线上满血版部署&#xff1a;超详细手把手指南 一、学…...

Typescript学习教程,从入门到精通, TypeScript编程基础语法知识点及案例代码(3)

TypeScript编程基础语法知识点及案例代码 本文将详细介绍TypeScript编程的基础知识&#xff0c;包括注释、标识符、关键字、基础类型、变量、常量以及操作符。 1. 注释 语法知识点 TypeScript 支持三种类型的注释&#xff1a; 单行注释&#xff1a;使用 // 开始&#xff0…...

云原生数据库排障新挑战:AI驱动与分布式架构深度解析

云原生数据库排障新挑战&#xff1a;AI驱动与分布式架构深度解析 一、问题描述与快速解决方案 1. 2025年数据库故障新特征 随着云原生与AI技术的深度耦合&#xff0c;数据库故障呈现三大新特征&#xff1a; AI模型推理性能瓶颈&#xff1a;向量化查询响应时间突增&#xff0…...

用MCP往ppt文件里插入系统架构图

文章目录 一、技术架构解析1. Markdown解析模块(markdown_to_hierarchy)2. 动态布局引擎(give_hierarchy_positions)3. PPTX生成模块(generate_pptx)二、核心技术亮点1. 自适应布局算法2. MCP服务集成三、工程实践建议1. 性能优化方向2. 样式扩展方案3. 部署实践四、应用…...

ABC301——ABCD

A 统计比赛胜场 #include<bits/stdc.h> using namespace std;#define x first #define y secondtypedef long long LL; typedef pair<int, int> PII;const int N 2e5 10;int t, n, m, a[N]; string s;void solve() {cin >> n;int c1 0, c2 0;cin >…...

Rust 数据结构:Vector

Rust 数据结构&#xff1a;Vector Rust 数据结构&#xff1a;Vector创建数组更新数组插入元素删除元素 获取数组中的元素迭代数组中的值使用枚举存储多个类型删除一个数组会删除它的元素 Rust 数据结构&#xff1a;Vector vector 来自标准库&#xff0c;在内存中连续存储相同类…...

GpuGeek:为创新者提供灵活、快速、高效的云计算服务!

目录 一、前言 二、GpuGeek平台的显著优势 2.1 显卡资源充足&#xff1a;强大计算能力的基础 &#xff08;1&#xff09;多种GPU配置选择 &#xff08;2&#xff09;弹性扩展与资源管理 2.2 节点丰富&#xff1a;满足多种计算需求 &#xff08;1&#xff09;各种节点配置…...

国产化Word处理控件Spire.Doc教程:通过C# 删除 Word 文档中的超链接

Word 文档中的超链接是可点击的链接&#xff0c;允许读者导航到一个网站或另一个文档。虽然超链接可以提供有价值的补充信息&#xff0c;但有时也会分散注意力或造成不必要的困扰&#xff0c;因此可能会需要删除这些超链接。本文将介绍如何使用 Spire.Doc for .NET 通过 C# 删除…...

MySQL 开发的智能助手:通义灵码在 IntelliJ IDEA 中的应用

一、引言 MySQL 作为一款高度支持 SQL 标准的数据库&#xff0c;在众多应用程序中得到了广泛应用。 尽管大多数程序员具备一定的 SQL 编写能力&#xff0c;但在面对复杂的 SQL 语句或优化需求时&#xff0c;往往需要专业数据库开发工程师的协助。 通义灵码的出现为这一问题提…...

golang -- 认识channel底层结构

channel channel是golang中用来实现多个goroutine通信的管道&#xff08;goroutine之间的通信机制&#xff09;&#xff0c;底层是一个叫做hchan的结构体&#xff0c;定义在runtime包中 type hchan struct {qcount uint // 循环数组中的元素个数&#xff08;通道…...

使用PEFT库将原始模型与LoRA权重合并

使用PEFT库将原始模型与LoRA权重合并 步骤如下&#xff1a; 基础模型加载&#xff1a;需保持与LoRA训练时相同的模型配置merge_and_unload()&#xff1a;该方法会执行权重合并并移除LoRA层保存格式&#xff1a;合并后的模型保存为标准HuggingFace格式&#xff0c;可直接用于推…...

基于微信小程序的在线聊天功能实现:WebSocket通信实战

基于微信小程序的在线聊天功能实现&#xff1a;WebSocket通信实战 摘要 本文将详细介绍如何使用微信小程序结合WebSocket协议开发一个实时在线聊天功能。通过完整的代码示例和分步解析&#xff0c;涵盖界面布局、WebSocket连接管理、消息交互逻辑及服务端实现&#xff0c;适合…...

SaaS基于云计算、大数据的Java云HIS平台信息化系统源码

利用云计算、大数据等现代信息技术研发的医疗信息管理系统&#xff08;HIS&#xff09;实现了医院信息化从局域网向互联网转型&#xff0c;重新定义医疗卫生信息化建设的理念、构架、功能和运维体系。平台构建了以患者为中心的云架构、云服务、云运维的信息体系&#xff0c;实现…...

【Linux】动静态库的使用

&#x1f4dd;前言&#xff1a; 这篇文章我们来讲讲Linux——动静态库的使用 &#x1f3ac;个人简介&#xff1a;努力学习ing &#x1f4cb;个人专栏&#xff1a;Linux &#x1f380;CSDN主页 愚润求学 &#x1f304;其他专栏&#xff1a;C学习笔记&#xff0c;C语言入门基础&…...

10.2 LangChain v0.3全面解析:模块化架构+多代理系统如何实现效率飙升500%

LangChain 框架概述 关键词:LangChain 技术栈, 模块化架构, LCEL 表达式语言, LangGraph 多代理系统, LangServe 服务化部署 1. 框架定位与技术演进 LangChain 是当前大模型应用开发的事实标准框架,通过模块化设计实现 AI 工作流编排、工具链集成 和 复杂业务逻辑封装。其演…...

开源免费iOS或macOS安装虚拟机运行window/Linux系统

官网地址&#xff1a;UTM 开源地址&#xff1a;https://github.com/utmapp/UTM 基于 QEMU&#xff08;一个开源的硬件虚拟化工具&#xff09;&#xff0c;UTM 可以在 macOS&#xff08;包括 Apple Silicon M1/M2 和 Intel x86&#xff09;上运行 Windows、Linux、macOS&…...

《C++ vector详解》

目录 1.结构 2.构造函数 无参构造 指定参数构造 迭代器构造 初始化列表构造 3.拷贝构造 4.析构函数 5.遍历 重载【】 5.插入 扩容 尾插 指定位置插入 6.删除 尾删 指定位置删除 1.结构 vector是一个类似于数组一样的容器&#xff0c;里面可以放各种各样的元素…...

【现代深度学习技术】注意力机制07:Transformer

【作者主页】Francek Chen 【专栏介绍】 ⌈ ⌈ ⌈PyTorch深度学习 ⌋ ⌋ ⌋ 深度学习 (DL, Deep Learning) 特指基于深层神经网络模型和方法的机器学习。它是在统计机器学习、人工神经网络等算法模型基础上&#xff0c;结合当代大数据和大算力的发展而发展出来的。深度学习最重…...

浅析 Spring 启动过程:从源码到核心方法

浅析 Spring 启动过程&#xff1a;从源码到核心方法 一、Spring 注解方式启动类 Demo二、Spring 启动过程源码解析​AnnotationConfigApplicationContext构造函数refresh()方法详解 三、refresh()的核心方法/步骤obtainFreshBeanFactory() - 获取Bean工厂prepareBeanFactory(be…...

5G + 区块链:技术巨浪下的新型数字生态!

5G + 区块链:技术巨浪下的新型数字生态! 1. 为什么 5G 和区块链的结合如此重要? 区块链和 5G 这两大技术近几年风头正劲,一个在去中心化数据管理上展现潜力,一个在高吞吐低延迟通信方面带来颠覆。这两者结合,意味着: 更快的数据传输,让区块链交易速度提升,摆脱“低 …...

时序数据库IoTDB分布式架构解析与运维指南

一、IoTDB分布式架构概述 分布式系统由一组独立的计算机组成&#xff0c;通过网络通信&#xff0c;对外表现为一个统一的整体。IoTDB的原生分布式架构将服务分为两个核心部分&#xff1a; ‌ConfigNode&#xff08;CN&#xff09;‌&#xff1a;管理节点&#xff0c;负责管理…...

CertiK荣获以太坊基金会两项资助,领跑zkEVM形式化验证

近日&#xff0c;以太坊基金会公布了2025年第一季度研究资助名单&#xff0c;全球最大的Web3.0安全公司CertiK荣获两项研究资助&#xff0c;源于zkEVM形式化验证竞赛。这不仅是以太坊扩展性战略的里程碑式事件&#xff0c;也进一步彰显了CertiK在零知识证明&#xff08;ZKP&…...

c++和c的不同

c:面向对象&#xff08;封装&#xff0c;继承&#xff0c;多态&#xff09;&#xff0c;STL&#xff0c;模板 一、基础定义与背景 C语言 诞生年代&#xff1a;20世纪70年代&#xff0c;Dennis Ritchie在贝尔实验室开发。主要特点&#xff1a; 过程式、结构化编程面向系统底层…...

光流 | Matlab工具中的光流算法

在MATLAB中,光流算法用于估计图像序列中物体的运动。以下是详细解释及实现步骤: 1. 光流算法基础 光流基于两个核心假设: 亮度恒定:同一物体在连续帧中的像素亮度不变。微小运动:相邻帧之间的时间间隔短,物体运动幅度小。常见算法: Lucas-Kanade (局部方法):假设局部窗…...

@Controller 与 @RestController-笔记

1.Controller与RestController对比 Spring MVC 中 Controller 与 RestController 的功能对比&#xff1a; Controller是Spring MVC中用于标识一个类作为控制器的标准注解。它允许处理HTTP请求&#xff0c;并返回视图名称&#xff0c;通常和视图解析器一起使用来渲染页面。而R…...

LeetCode 热题 100 105. 从前序与中序遍历序列构造二叉树

LeetCode 热题 100 | 105. 从前序与中序遍历序列构造二叉树 大家好&#xff0c;今天我们来解决一道经典的二叉树问题——从前序与中序遍历序列构造二叉树。这道题在 LeetCode 上被标记为中等难度&#xff0c;要求根据给定的前序遍历和中序遍历序列&#xff0c;构造并返回二叉树…...

IP地址查询助力业务增长

IP地址查询的技术基石 IP地址分为IPv4和IPv6&#xff0c;目前IPv4仍广泛应用&#xff0c;它由四个0-255的十进制数组成&#xff0c;如192.168.1.1。而IPv6为应对IPv4地址枯竭问题而生&#xff0c;采用128位地址长度&#xff0c;极大扩充了地址空间。IP地址查询主要依赖庞大的I…...