Kestrel是一个基于libuv的跨平台.NET Core web服务器,libuv是一个跨平台的异步I/O库。ASP.NET Core模板项目使用Kestrel作为默认的web服务器。

Kestrel支持以下功能:

  • HTTPS

  • 用于启用不透明升级的WebSockets

  • 位于Nginx之后的高性能Unix sockets

Kestrel 被.NET Core支持的所有平台和版本所支持

何时使用Kestrel和反向代理服务器

如果你的应用只接收来自内部网络的请求,你可以只使用Kestrel本身

如果你将你的应用部署在公共网络上,我们建议你使用IIS,Nginx或者Apache作为反向代理服务器。一个反向代理服务器接收来自网络的HTTP请求并且在经过一些初步处理后将请求传递到Kestrel服务器。

出于安全性的理由,反向代理常常被edge deployments所采用。因为Kestrel相对较新,对抵御安全攻击至今还没有一个完整的功能补充。安全性处理包括但不限于适当的超时,大小的限制,以及并发连接限制等问题。

另一个需要反向代理的场景是,你有多个需要在单独的服务器上运行并分享同一端口的应用。因为Kestrel不支持在多进程间分享同一端口,所以应用并不能直接和Kestrel合作。当你在某个端口上配置Kestrel运行侦听时,不算主机头如何标识,Kestrel会为该端口处理所有的流量。反向代理可以为多个应用共享唯一端口并将流量发送给Kestrel。

即使不需要反向代理服务器,使用它也可以简化负载均衡和SSL设置 -- 只要你的反向代理服务器需要SSL证书,并且该服务器可以和你的应用在内部网中通过普通HTTP进行通信。

我们通过代码看一下:

Kestrel是一个基于libuv的跨平台web服务器

在.net core项目中就可以不一定要发布在iis下面了

Kestrel体验

可以使用useUrls来设置一个请求的地址

vs2017中运行可以直接选择项目,而不选择iis

或者直接使用命令在运行

在文件夹中打开,在项目中program.cs的位置打开命令行

先执行dotnet build 编译一下项目

然后执行dotnet run启动项目

当然那个编译的命令也可以不执行,项目生成一下就好

就可以直接访问了

更多技术请关注

views 多个文件夹 netcore_.NET Core中的使用Kestrel服务器理解及应用相关推荐

  1. views 多个文件夹 netcore_.NET Core 分发打包

    由于 .NET Core 现已可用于更多平台,因此了解如何为其打包.命名并进行版本控制将很有用. 这样,无论用户选择在哪里运行 .NET,包维护人员均可以帮助确保获得一致的体验. 本文对以下用户非常有 ...

  2. .NET Core中的使用Kestrel服务器理解

    Kestrel是一个基于libuv的跨平台.NET Core web服务器,libuv是一个跨平台的异步I/O库.ASP.NET Core模板项目使用Kestrel作为默认的web服务器. Kestr ...

  3. views 多个文件夹 netcore_优化 .net core 应用的 dockerfile

    优化 .net core 应用的 dockerfile Intro 在给 .net core 应用的写 dockerfile 的时候一直有个苦恼,就是如果有很多个项目,在 dockerfile 里写起 ...

  4. 服务器c盘有个inetpub文件夹,关于C盘中的inetpub文件夹在win10电脑中的删除处理方法...

    win10的系统是很多的小伙伴在选择安装系统的时候都会会选择的,那在电脑中有小伙伴需要清理电脑中的文件夹的时候发现C盘中有一个inetpub文件夹的设置的,那在遇到这个问题我们应该怎么办呢,今天小编就 ...

  5. 删除的文件夹不在回收站中如何恢复呢?

    当我们的工作内容是不断增加的,而电脑的存储空间又有限,所以在办公生活中,我们可能就需要删除电脑上一些不必要的垃圾文件.有时我们不小心删除文件,尤其是照片.视频.文档和其他重要文件.但回收站里没有找到, ...

  6. views 多个文件夹 netcore_Visual Studio 2019发布.NET Core项目部署或者独立运行的方法...

    Visual Studio 2019发布.NET Core项目部署或者独立运行的方法 Visual Studio 2019是一款专为程序开发人员设计,支持 Windows 和 Mac系统,适用范围广, ...

  7. php上传图片到文件夹,2018.09.14PHP获取页面上传的图片存到指定文件夹再存到数据库中...

    一.html代码 //传值方式必须是post 请选择要上传的文件: 二.php代码 session_start(); include 'mysql.php'; //获取图片所有的属性 $filenam ...

  8. python读取多个文件夹_在python中如何从不同的文件夹读取多个文件

    我在不同的文件夹中有年度数据文件.每个文件包含从1月1日到12月31日的每日数据.数据文件名类似于AS060419.67,其中最后四位代表年份,即1967年,0604是文件夹名.在 我试图使用下面的代 ...

  9. sql附加服务器数据库文件夹,快速开发平台企业版--后台SqlServer更换服务器,可以用数据库分离与附加方法重新启动...

    这个方法涉及到SQL Server分离数据库和附加数据库这两个互逆操作工具. 1.分离数据库就是将某个数据库(如student_Mis)从SQL Server数据库列表中删除,使其不再被SQL Ser ...

最新文章

  1. Java项目:在线考试系统(单选,多选,判断,填空,简答题)(java+Springboot+ssm+mysql+html+maven)
  2. 单片机会被淘汰吗?单片机现在还有用吗?
  3. BATJ 常考的 21 条 Linux 命令
  4. Spring RabbitMQ使用
  5. 计算机组成原理形考任务五答案,计算机组成原理形考任务5
  6. HDU - 6186 CS Course(维护前缀+后缀)
  7. 双系统linux长时间黑屏,win10 ubuntu 双系统安装黑屏问题
  8. IOS7 position:fixed focus定位问题
  9. java 判断是否包含中文_Java 判断字符串是否包含中文正则表达式
  10. ArcGIS制图表达Representation实战篇4-自由式制图表达
  11. Protues 汇编报错所选编译器MASM32未安装编译失败可以这样解决
  12. 大龄程序猿的出路在哪里
  13. Android之WebView的使用与简单浏览器
  14. Android SurfaceView、TextureView区别
  15. CSS 学习笔记总结(借鉴黑马程序员pink老师前端入门)
  16. Java实现人民币大小写转换
  17. 炒货币赚钱吗 炒数字货币赚钱吗
  18. C++ 11 特性:关联容器map、set的使用
  19. mysql的Event权限_mysql8 参考手册-事件调度程序和MySQL特权
  20. C++教程网之Linux网络编程视频 Unix网络编程视频

热门文章

  1. 少儿编程100讲轻松学python(六)-pycharm怎么汉化?
  2. python定时下载链接_python定时下载FTP指定文件
  3. php置顶文章,zblogphp调用置顶文章的教程
  4. 教你玩转CSS Overflow
  5. Burpsuite爆破含CSRF-Token的程序
  6. linux 用mutex定义一个linkedlist,【基于LINUX的操作系统实验教程最终版材料】
  7. 12个便于web设计及开发的在线工具
  8. Panorama Viewer – jQuery 360度全景展示插件
  9. day 17python 面对对象之继承
  10. servlet中url-pattern之/与/*的区别