netcore-https证书配置

news2024/9/20 10:57:13

一、新建项目:WebHtpsDemo

二、生成pfx证书

拷贝到项目中

三、修改配置文件appsettings.Development.json

{
  "KestrelSettings": {
    "IP": "192.168.31.68",
    "Port": 8189,
    "CerPath": "xxxCert.pfx",
    "CerPassword": "Ux938CF8@929",
    "EnableHttps": false
  }
}

四、修改:Program.cs

using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Server.Kestrel.Core;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Threading.Tasks;

namespace WebHtpsDemo
{
    public class Program
    {
        public static void Main(string[] args)
        {
            CreateHostBuilder(args).Build().Run();
        }

        public static IHostBuilder CreateHostBuilder(string[] args) =>
            Host.CreateDefaultBuilder(args)
                .ConfigureWebHostDefaults(webBuilder =>
                {
                    webBuilder.UseKestrel(configureOptions =>
                    {
                        var environment = Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT");
                        var config = new ConfigurationBuilder();
                        var configurationBuilder = config.SetBasePath(Directory.GetCurrentDirectory());
                        configurationBuilder.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
                                            .AddJsonFile($"appsettings.{environment}.json", optional: false, reloadOnChange: true);
                        var buildConfig = configurationBuilder.Build();
                        var ip = buildConfig.GetValue<string>("KestrelSettings:IP");
                        var port = buildConfig.GetValue<int>("KestrelSettings:Port");
                        var cerPath = buildConfig.GetValue<string>("KestrelSettings:CerPath");
                        var cerPassword = buildConfig.GetValue<string>("KestrelSettings:CerPassword");
                        var enableHttps = buildConfig.GetValue<bool>("KestrelSettings:EnableHttps");

                        if(enableHttps)
                        {
                            configureOptions.Listen(IPAddress.Parse(ip), port, listenOptions =>
                            {
                                listenOptions.Protocols = HttpProtocols.Http2;//想支gRPC 必须Http2
                                listenOptions.UseHttps(cerPath, cerPassword);
                            });
                        }
                        else
                        {
                            webBuilder.UseUrls($"http://{ip}:{port}");
                        }
                       
                    });
                    webBuilder.UseStartup<Startup>();
                });
    }
}

修改:Startup.cs

  var enableHttps = Configuration.GetValue<bool>("KestrelSettings:EnableHttps");
  if (enableHttps)
  {
      app.UseHsts();
      app.UseHttpsRedirection();
  }

 

五、运行效果:

 Linux 启动:

export ASPNETCORE_ENVIRONMENT=Production
dotnet WebHtpsDemo.dll  

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

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

相关文章

“艾”公益——微笑行动「文山站」为艾祝福,让笑起舞

艾多美“微笑行动”文山站拉开帷幕 此次爱心帮助71名唇腭裂患儿 重新绽放微笑 ♥ ♥ ♥ 不让笑容留有缺憾 每个孩子都有微笑的权利 艾多美向唇腭裂儿童伸出援手 绽放笑容&#xff0c;拥抱全新的未来 2024年8月6日-8月12日&#xff0c;云南省文山康复医院迎来了艾多美--微笑行动…

C语言典型例题35

《C程序设计教程&#xff08;第四版&#xff09;——谭浩强》 例题3.3 有一函数&#xff1a;y{-1&#xff08;x<0&#xff09;;0(x0);1(x>0);编程序&#xff0c;要求输入一个x值后&#xff0c;输出y值。 代码&#xff1a; //《C程序设计教程&#xff08;第四版&#xff…

PaddleOCR 图片文字提取

PaddleOCR 图片文字提取 需求一.裁剪车牌号码区域二.对车牌小图进行处理三.填充边界四.识别步骤 需求 工作上的一个需求&#xff0c;需要把图片中的车牌号码提取出来。如图&#xff0c;车牌在图片固定位置。开始使用pytesseract&#xff0c;对中文识别特别不友好&#xff0c;毕…

19116 丑数

### 计划 1. **输入处理**&#xff1a;读取输入的正整数 T 和 T 行的正整数 n。 2. **生成丑数**&#xff1a;使用最小堆&#xff08;优先队列&#xff09;生成丑数&#xff0c;确保每次取出的数都是当前最小的丑数。 3. **存储丑数**&#xff1a;将生成的丑数存储在一个数组中…

IO网络编程

思维导图 作业一&#xff1a;使用wasd控制机械臂 #include<myhead.h> #include <termios.h> #define SER_PORT 8888 //与服务器保持一致 #define SER_IP "192.168.0.103" //服务器ip地址 #define CLI_PORT 6666 //客户端…

【网络】TCP拥塞窗口(第六篇)

拥塞窗口&#xff08;Congestion Window&#xff0c;简称cwnd&#xff09;是TCP协议中用于防止网络拥塞的一种重要机制。它是在发送端采用的一种“拥塞避免”算法和“慢速启动”算法相结合的机制&#xff0c;用于控制发送端向网络中注入的数据量&#xff0c;从而避免网络拥塞。…

MySQL数据库介绍及基础操作

目录&#xff1a; 一.数据库介绍 二.数据库分类 三. 数据库的操作 四. 常用数据类型 五. 表的操作 一.数据库介绍 1.文件保存数据有以下几个缺点: 1.1文件的安全性问题 1.2文件不利于数据查询和管理 1.3文件不利于存储海量数据 1.4文件在程序中控制不方便 为了解决上述问题&…

python爬取B站视频实验

实验17&#xff1a;爬虫2 文章目录 实验17&#xff1a;爬虫21.实验目标及要求2. 实验主要内容3.实验小结 1.实验目标及要求 &#xff08;1&#xff09;掌握有关爬虫的包 &#xff08;2&#xff09;掌握爬虫方法 &#xff08;3&#xff09;爬取B站卡塔尔世界杯若干视频 2. 实验…

css实现水滴效果图

效果图&#xff1a; <template><div style"width: 100%;height:500px;padding:20px;"><div class"water"></div></div> </template> <script> export default {data() {return {};},watch: {},created() {},me…

【开端】一个看的奇奇怪怪类的解析

一、绪论 Java中正常的类语法如下&#xff1a; public class TmpMUser implements Serializable{ Data public class TmpMUser implements Serializable{/*** 序列*/private static final long serialVersionUID 1L;/*** */private String rowId;/*** */private String …

贪心算法篇--代码随想录算法训练营第二十七天| 134. 加油站,135. 分发糖果,860.柠檬水找零

134. 加油站 题目链接&#xff1a;. - 力扣&#xff08;LeetCode&#xff09; 讲解视频&#xff1a; 贪心算法&#xff0c;得这么加油才能跑完全程&#xff01;LeetCode &#xff1a;134.加油站 题目描述&#xff1a; 在一条环路上有 n 个加油站&#xff0c;其中第 i 个加…

如何设置 Visual Studio Code 的滚轮缩放功能

Visual Studio Code (VSCode) 是一个强大的代码编辑器&#xff0c;提供了许多便捷的功能来提高开发效率。其中之一就是通过滚轮缩放字体大小。以下是详细的设置步骤&#xff1a; 步骤 1&#xff1a;打开设置页面 首先&#xff0c;启动 Visual Studio Code。在左上角点击 “文…

【网红时代】揭秘网红IP分析与打造,专业自媒体运营攻略

在这个互联网高速发展的时代&#xff0c;网红IP和自媒体的影响力日益凸显&#xff0c;成为品牌传播和市场营销的重要力量。如何分析和打造网红IP&#xff0c;进行专业的自媒体运营&#xff0c;成为许多企业和个人关注的焦点。今天&#xff0c;让我们一起探索网红IP的奥秘&#…

2024高端网站制作公司推荐TOP3

2024这个数字化高度发达的时间段&#xff0c;一个专业、高端的网站不仅是企业形象的展示窗口&#xff0c;更是连接用户与品牌的重要桥梁。 随着技术的不断进步和设计理念的不断创新&#xff0c;许多高端网站制作公司凭借其卓越的技术实力、创新的设计理念和丰富的项目经验&…

逻辑判断1-逻辑基础知识

目录 一、命题1.命题介绍2.复合命题1. 联合命题(且)2. 选言命题(或者、要么)3. 假言命题(如果、才、否则)3.模态命题(可能必然)4.直言命题(所有有些)5.充分必要条件二、推理方式一、命题 1.命题介绍 命题的四种形式和关系 命题传递规则 A→B,B→C,可联立,得出A→…

视频汇聚/安防综合管理系统EasyCVR非管理员账户能调用分配给其他用户的通道是什么原因?

视频汇聚/安防综合管理系统EasyCVR视频监控平台&#xff0c;作为一款智能视频监控综合管理平台&#xff0c;凭借其强大的视频融合汇聚能力和灵活的视频能力&#xff0c;在各行各业的应用中发挥着越来越重要的作用。平台不仅具备视频资源管理、设备管理、用户管理、网络管理和安…

请求转发与重定向

一、介绍 设想这样一种情况&#xff0c;在我们登录某个网站时&#xff0c;登录页面会要求我们输入账号密码以及其他信息&#xff0c;当我们点击登录按钮时&#xff0c;浏览器会将我们的信息以及请求的一些信息发送到服务器端&#xff0c;在服务器端&#xff0c;我们可以从requ…

haralyzer 半自动,一次性少量数据采集快捷方法

使用场景&#xff1a;半自动&#xff0c;一次性少量数据采集需求在工作中还是不少遇到的&#xff0c;无论使用模拟的方式&#xff0c;或者破解都不太划算。其实这种需求&#xff0c;使用半自动爬虫是最简单的。不需要考虑网站反爬虫的问题&#xff0c;因为你使用的就是真实的浏…

【MySQL】用户管理——用户、用户信息、创建用户、删除用户、修改用户密码、数据库的权限、给用户权限、回收权限

文章目录 MySQL1. 用户管理1.1 用户1.1.1 用户信息1.1.2 创建用户1.1.3 删除用户1.1.4 修改用户密码 1.2 数据库的权限1.2.1 给用户权限1.2.2 回收权限 MySQL 1. 用户管理 为什么MySQL要引入用户管理&#xff1f; 如果我们只能使用root用户&#xff0c;这样存在安全隐患。因为r…

【JavaEE初阶】文件内容的读写—数据流

目录 &#x1f4d5; 引言 &#x1f334; 数据流的概念 &#x1f6a9; 数据流分类 &#x1f333; 字节流的读写 &#x1f6a9; InputStream&#xff08;从文件中读取字节内容) &#x1f6a9; OutputStream&#xff08;向文件中写内容&#xff09; &#x1f384; 字符流的…