NET Core Kestrel部署HTTPS
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的更多相关文章
- ASP.NET Core Kestrel部署HTTPS
ASP.NET Core配置 Kestrel部署HTTPS.现在大部分网站已经部署HTTPS,大家对于安全越来越重视. 今天简单介绍一下ASP.NET Core 部署HTTPS,直接通过配置Kestr ...
- NET Core Kestrel部署HTTPS使用SSL证书
ASP.NET Core配置 Kestrel部署HTTPS.现在大部分网站已经部署HTTPS,大家对于安全越来越重视. 今天简单介绍一下ASP.NET Core 部署HTTPS,直接通过配置Kestr ...
- NET Core Kestrel部署HTTPS 一个服务器绑一个证书 一个服务器绑多个证书
.net core 3.0 网站发布到centos后,绑定ssl证书,一个服务器绑一个证书,一个服务器绑多个证书 开始之前:对于windows服务器不存在这个问题,在iis中绑定证书是非常简单的一件事 ...
- 部署asp.net core Kestrel 支持https 使用openssl自签ssl证书
通过openssl生成证书 openssl req -newkey rsa:2048 -nodes -keyout my.key -x509 -days 365 -out my.cer openssl ...
- .NET 部署Https(SSL)通过代码方式
在上一个文章中,传送门,给大家介绍了怎么在配置文件中使用 Kestrel 部署 Https,正好今天有小伙伴稳问到:可以通过代码的方式实现 Kestrel 的 Https 的部署吗?答案是肯定的,我们 ...
- 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= ...
- 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日. 在目前介 ...
- Jexus + Kestrel 部署 asp.net core
结合Jexus + Kestrel 部署 asp.net core 生产环境 ASP.NET Core 是微软的全新的框架.这一框架的目标 ︰ 跨平台 针对云应用优化 解除 System.Web 的依 ...
- 实战Asp.Net Core:部署应用
1.前言 某一刻,你已经把 .Net Core 的程序写好了.接下来,还可以做什么呢?那就是部署了. 作为一名开发工程师,如果不会部署自己开发的应用,那么这也是不完整的.接下来,我们就来说说,如何部署 ...
随机推荐
- todolist待办事项
使用html/css原生js实现待办事项列表: 支持添加待办事项,删除待办事项,切换待办事项的状态(正在进行,已经完成) 支持对正在进行以及已经完成事项编辑(单击内容即可编辑) 源代码:链接:http ...
- OpenVPN多用户配置
/********************************************************************************* * OpenVPN多用户配置 * ...
- 百练6376-二维数组右上左下遍历-2015正式C题
C:二维数组右上左下遍历 总时间限制: 1000ms 内存限制: 65536kB 描述 给定一个row行col列的整数数组array,要求从array[0][0]元素开始,按从左上到右下的对角线顺 ...
- Django中HtttpRequest请求
1.什么是HttpRequest HttpRequest,就是对请求对象的封装,里面封装的是请求过程中的所有信息.在Django中HttpRequest被封装成request对象并封装到视图处理函数中 ...
- 使用apidoc 生成Restful web Api文档——新手问题与解决方法
使用apidoc工具来给项目做接口文档,不仅有合理的源码注释,还可以生成对应的文档.是给源码写备注的一个极佳实践. 工具名称:apiDoc Git地址:https://github.com/apido ...
- 如何用input标签上传多个图片并回显
本文主要记录如何用input标签和jquery实现多图片的上传和回显,不会涉及后端的交互,大概的效果看图 我们从零来做一个这样的demo 第一步: 我们先完善一下我们的页面,默认的input-file ...
- git使用之放弃本地修改
一,未使用 git add 缓存代码时. 可以使用 git checkout -- filepathname (比如: git checkout -- readme.md ,不要忘记中间的 “-- ...
- easyui表单校验
痛苦使人清醒,痛苦使人警惕.生于忧患,死于安乐.付出总会有回报. 1.下面跟大家分享使用easyui时表单中的值如何校验. 1.1 首先,在你的jsp/html页面引入JQuery和easyui的js ...
- Linux配置浮动IP
在高可用集群环境中,一般都需要使用浮动IP来实现web高可用(High Availability). 浮动IP的概念以及为什么需要浮动IP请参考:https://blog.csdn.net/readi ...
- git配置config文件
1.Git有一个工具被称为git config,它允许你获取和设置变量:这些变量可以控制Git的外观和操作的各个方面.这些变量以等级的不同可以被存储在三个不同的位置: (1) /etc/gitconf ...