Kestrel 是一个跨平台的适用于 ASP.NET Core 的 Web 服务器。ASP.NET Core模板项目使用Kestrel作为默认的web服务器...

本文详细介绍了Kestrel作为ASP.NET Core的Web服务器,以及何时与反向代理(如IIS、Nginx或Apache)结合使用。讨论了Kestrel作为边缘服务器的角色,反向代理提供的优势,如安全性和集成性,并详细阐述了.NET Core的进程内托管和进程外托管的区别,包括它们的配置和影响。
摘要由CSDN通过智能技术生成

何时结合使用 Kestrel 和反向代理

Kestrel 是一个跨平台的适用于 ASP.NET Core 的 Web 服务器。ASP.NET Core模板项目使用Kestrel作为默认的web服务器。

可以单独使用 Kestrel,也可以将其与反向代理服务器(如IISNginx 或 Apache)结合使用。 反向代理服务器接收来自网络的 HTTP 请求,并将这些请求转发到 Kestrel

Kestrel 用作边缘(面向 Internet)Web 服务器:

Kestrel 直接与 Internet 通信,不使用反向代理服务器

Kestrel 用于反向代理配置:

Kestrel 通过反向代理服务器(如 IIS、Nginx 或 Apache)间接与 Internet 进行通信

无论配置是否使用反向代理服务器——,都是从 Internet 接收请求的 ASP.NET Core 2.1 或更高版本应用的支持托管配置。

在没有反向代理服务器的情况下用作边缘服务器的 Kestrel 不支持在多个进程间共享相同的 IP 和端口。 如果将 Kestrel 配置为侦听某个端口,Kestrel 会处理该端口的所有流量(无视请求的 Host 标头)。 可以共享端口的反向代理能在唯一的 IP 和端口上将请求转发至 Kestrel。

即使不需要反向代理服务器,使用反向代理服务器可能也是个不错的选择。

反向代理:

  • 可以限制所承载的应用中的公开的公共外围应用。
  • 提供额外的配置和防护层。
  • 可以更好地与现有基础结构集成。
  • 简化了负载均和和安全通信 (HTTPS) 配置。 仅反向代理服务器需要 X.509 证书,并且该服务器可使用普通 HTTP 在内部网络上与应用服务器通信。

 


 

.Net Core的托管模式主要分2种:进程内托管和进程外托管 

默认为OutOfProcess进程外托管模式

在 IIS 工作进程 (w3wp.exe) 内托管 ASP.NET Core 应用,称为进程内托管模型。<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值