NET Core Kestrel部署HTTPS

ASP.NET Core配置 Kestrel部署HTTPS。现在大部分网站已经部署HTTPS,大家对于安全越来越重视。

今天简单介绍一下ASP.NET Core 部署HTTPS,直接通过配置Kestrel。大家也可以通过前置Nginx来部署HTTPS。

下面直接进入正题。

新建项目并添加引用

新建一个ASP.NET Core Web Application  模板选择空。

新建好项目添加引用 Microsoft.AspNetCore.Server.Kestrel.Https。

Install-Package Microsoft.AspNetCore.Server.Kestrel.Https

如果你的.NET Core SDK 还是1.0 ,那么引用的时候加上版本号Install-Package Microsoft.AspNetCore.Server.Kestrel.Https -Version 1.0.0

生成证书

通过OpenSSL 生成证书

必须先确保安装OpenSSL。

首先自己创建根证书 root 自己做CA也就是发行者。

openssl genrsa -des3 -out root.key

然后按照提示输入密码

openssl req -new -key root.key -out root.csr

输入刚才设置的密码,然后填写一些信息

然后创建一个10年期根证书 root.crt

openssl x509 -req -days 3650 -sha1 -extensions v3_ca -signkey root.key -in root.csr -out root.crt

创建服务器证书

openssl genrsa -des3 -out server.key 2048

openssl req -new -key server.key -out server.req

openssl x509 -req -days 730 -sha1 -extensions v3_req -CA root.crt -CAkey root.key -CAserial root.srl -CAcreateserial -in server.csr -out server.crt

openssl pkcs12 -export -in server.crt -inkey server.key -out server.pfx

最终得到的server.pfx 就是可以用来在配置HTTPS。

将server.pfx 复制到项目根目录

然后打开Program.cs 更改代码如下:

    public class Program
{
public static void Main(string[] args)
{
var host = new WebHostBuilder()
.UseKestrel(option=> {
option.UseHttps("server.pfx", "linezero");
})
.UseUrls("https://*:443")
.UseContentRoot(Directory.GetCurrentDirectory())
.UseIISIntegration()
.UseStartup<Startup>()
.Build(); host.Run();
}
}

然后选择使用 Kestrel 运行。

打开浏览器输入 https://localhost/

由于证书是自己生成,显示红标也就是没有得到验证。

附测试用证书下载:server.pfx

如果你觉得本文对你有帮助,请点击“推荐”,谢谢。

NET Core Kestrel部署HTTPS的更多相关文章

  1. ASP.NET Core Kestrel部署HTTPS

    ASP.NET Core配置 Kestrel部署HTTPS.现在大部分网站已经部署HTTPS,大家对于安全越来越重视. 今天简单介绍一下ASP.NET Core 部署HTTPS,直接通过配置Kestr ...

  2. NET Core Kestrel部署HTTPS使用SSL证书

    ASP.NET Core配置 Kestrel部署HTTPS.现在大部分网站已经部署HTTPS,大家对于安全越来越重视. 今天简单介绍一下ASP.NET Core 部署HTTPS,直接通过配置Kestr ...

  3. NET Core Kestrel部署HTTPS 一个服务器绑一个证书 一个服务器绑多个证书

    .net core 3.0 网站发布到centos后,绑定ssl证书,一个服务器绑一个证书,一个服务器绑多个证书 开始之前:对于windows服务器不存在这个问题,在iis中绑定证书是非常简单的一件事 ...

  4. 部署asp.net core Kestrel 支持https 使用openssl自签ssl证书

    通过openssl生成证书 openssl req -newkey rsa:2048 -nodes -keyout my.key -x509 -days 365 -out my.cer openssl ...

  5. .NET 部署Https(SSL)通过代码方式

    在上一个文章中,传送门,给大家介绍了怎么在配置文件中使用 Kestrel 部署 Https,正好今天有小伙伴稳问到:可以通过代码的方式实现 Kestrel 的 Https 的部署吗?答案是肯定的,我们 ...

  6. ASP.NET Core 1.0 部署 HTTPS (.NET Framework 4.5.1)

    var appInsights=window.appInsights||function(config){ function r(config){t[config]=function(){var i= ...

  7. ASP.NET Core 1.0 部署 HTTPS

    ASP.NET Core 1.0 部署 HTTPS ASP.NET Core 1.0 部署 HTTPS (.NET Framework 4.5.1) 提示 更新时间:2016年01月23日. 在目前介 ...

  8. Jexus + Kestrel 部署 asp.net core

    结合Jexus + Kestrel 部署 asp.net core 生产环境 ASP.NET Core 是微软的全新的框架.这一框架的目标 ︰ 跨平台 针对云应用优化 解除 System.Web 的依 ...

  9. 实战Asp.Net Core:部署应用

    1.前言 某一刻,你已经把 .Net Core 的程序写好了.接下来,还可以做什么呢?那就是部署了. 作为一名开发工程师,如果不会部署自己开发的应用,那么这也是不完整的.接下来,我们就来说说,如何部署 ...

随机推荐

  1. 安卓 dex 通用脱壳技术研究(四)

    /*     当第一个类执行到此函数时,我们在dvmDefineClass执行之前,也就是第一个类加载之前     注入我们的dump代码:即DumpClass()函数 */ static void  ...

  2. Unity 3D光源-Directional平行光/逆光效果,光晕详解、教程

    Unity4大光源之平行光 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- 心分享. ...

  3. 项目报错 exception 'RedisException' with message 'Redis server went away' in XXX

    检查服务器防火墙是否开启redis端口:如果返回no 表没确实没开 firewall-cmd --query-port=6379/tcp 开启:firewall-cmd --add-port=6379 ...

  4. c#接口与虚函数的实验报告

    1)定义Student类,用string型变量name存储学生姓名,用int型变量age存储学生年龄.Student类实现IComparable接口.要求从键盘输入学生的姓名和年龄,并注意可能出现的异 ...

  5. 进入网站自动加自己为QQ好友代码

    <meta http-equiv="refresh" content="0; url=tencent://AddContact/?fromId=50&fro ...

  6. 芯灵思SinlinxA33开发板Linux内核定时器编程

    开发平台 * 芯灵思SinlinxA33开发板 淘宝店铺: https://sinlinx.taobao.com/ 嵌入式linux 开发板交流 QQ:641395230 Linux 内核定时器是内核 ...

  7. 公钥与私钥,HTTPS详解 转载

    1.公钥与私钥原理1)鲍勃有两把钥匙,一把是公钥,另一把是私钥2)鲍勃把公钥送给他的朋友们----帕蒂.道格.苏珊----每人一把.3)苏珊要给鲍勃写一封保密的信.她写完后用鲍勃的公钥加密,就可以达到 ...

  8. sudo权限的设置

    什么是sudo,为什么要sudo呢?就我个人愚见普通用户sudo之后拥有root用户的所有权限,其优点在于,虽然该用户拥有root权限,但他却不需要知道root用户密码,需要输入的是他本身的密码. 那 ...

  9. Java中的包学习笔记

    一.总结 1.引入包的概念的原因和包的作用比如有多个人开发一个大型程序,A定义了一个Math.java类,B也定义了一个Math.java类,它们放在不同目录,使用的时候也是用目录来区分,包实际上就是 ...

  10. MySQL DataType--字符串类型

    ================================================= VARCHAR类型存储空间问题 当MySQL表使用ROW_FORMAT=FIXED时,对于定义VAR ...