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 复制到项目根目录

添加NuGet包

nuget中查找然后再程序中添加引用Microsoft.AspNetCore.Server.Kestrel.Https

然后打开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使用SSL证书的更多相关文章

  1. NET Core Kestrel部署HTTPS

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

  2. ASP.NET Core Kestrel部署HTTPS

    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. IIS 安装 .net core 绑定为 https 使用SSL证书

    前提条件: 自己服务器(Windows Server 2016)运行 dotnet .\Web****.dll 服务是可以使用http访问的 但由于实际情况必须使用https 思想历程,但未用: 1. ...

  5. Https系列之二:https的SSL证书在服务器端的部署,基于tomcat,spring boot

    Https系列会在下面几篇文章中分别作介绍: 一:https的简单介绍及SSL证书的生成二:https的SSL证书在服务器端的部署,基于tomcat,spring boot三:让服务器同时支持http ...

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

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

  7. Https系列之四:https的SSL证书在Android端基于okhttp,Retrofit的使用

    Https系列会在下面几篇文章中分别作介绍: 一:https的简单介绍及SSL证书的生成二:https的SSL证书在服务器端的部署,基于tomcat,spring boot三:让服务器同时支持http ...

  8. 部署国密SSL证书,如何兼容国际主流浏览器?

    国密算法在主流操作系统.浏览器等客户端中,还没有实现广泛兼容.因此,在面向开放互联网的产品应用中,国密算法无法得到广泛应用.比如,在SSL证书应用领域,由于国际主流浏览器不信任国密算法,如果服务器部署 ...

  9. 使用acme.sh自动申请、续期、部署免费的SSL证书

    参考文档:https://github.com/acmesh-official/acme.sh 一个使用纯shell操作的免费SSL证书申请部署工具. 免费的SSL证书由以下CA机构提供: ZeroS ...

随机推荐

  1. nmap 常用命令

    10.1.1.0/24 = 10.1.1.1-10.1.1.255       #c段扫描10.1.1.0/16 = 10.1.1.1-10.1.255.255   #b段扫描10.1.1.0/8 = ...

  2. Double.valueOf(0.0D) 分析

    private Double price = Double.valueOf(0.0D); 查看Java API 文档如下: doubleValue public double doubleValue( ...

  3. 【LOJ#2542】[PKUWC2018]随机游走(min-max容斥,动态规划)

    [LOJ#2542][PKUWC2018]随机游走(min-max容斥,动态规划) 题面 LOJ 题解 很明显,要求的东西可以很容易的进行\(min-max\)容斥,那么转为求集合的\(min\). ...

  4. 【APIO2018】铁人两项(圆方树,动态规划)

    [APIO2018]铁人两项(圆方树,动态规划) 题面 UOJ 洛谷 BZOJ 题解 嘤嘤嘤,APIO的时候把一个组合数写成阶乘了,然后这题的70多分没拿到 首先一棵树是很容易做的,随意指定起点终点就 ...

  5. 【转】IAR Embedded Workbench for ARM 8.22.1 基础使用教程

    @2018-12-15 [小记] IAR Embedded Workbench for ARM 8.22.1 基础使用教程

  6. 面试---Python中的模块和包是什么?

    python模块是: 自我包含并且有组织的代码片段为模块. 表现形式为:写的代码保存为文件.这个文件就是一个模块.sample.py 其中文件名smaple为模块名字. python包是: 包是一个有 ...

  7. CSS实现背景透明,文字不透明(兼容所有浏览器)

    我们平时所说的调整透明度,其实在样式中是调整不透明度,如下图所示例: 打开ps,在图层面板上,可以看到设置图层整理不透明度的菜单,从 0% (完全透明)到 100%(完全不透明). 实现透明的css方 ...

  8. [WC2011]最大XOR和路径(贪心+线性基)

    题目大意:给一张无向图,求一条1-n的路径,是路径边权的异或和最小. 题解 这道题的思路很妙,首先我们可以随便找出一条从1到n的路径来,然后我们可以选一些环. 其实不管这个环和这条路径有怎样的关系,我 ...

  9. 仓鼠找sugar(LCA)

    小仓鼠的和他的基(mei)友(zi)sugar住在地下洞穴中,每个节点的编号为1~n.地下洞穴是一个树形结构.这一天小仓鼠打算从从他的卧室(a)到餐厅(b),而他的基友同时要从他的卧室(c)到图书馆( ...

  10. socket,tcp,http三者之间的区别和原理

    http.TCP/IP协议与socket之间的区别下面的图表试图显示不同的TCP/IP和其他的协议在最初OSI模型中的位置: 7 应用层 例如HTTP.SMTP.SNMP.FTP.Telnet.SIP ...