使用iis反向代理.net core应用程序

  .net core 其实是自宿主性质的web应用程序,而不再是web网站,所以.net core是可以直接单独作为系统服务部署。但是实际情况中,为了同个一个端口能支持多个web应用和统一管理,还是应该与某个服务器整合,比如iis,Jexus。所以.net core 不再是由iis工作进程进行托管,而是使用自托管Web服务器(Kestrel)。iis则是作为反向代理的角色,将请求转发到Kestrel。在这里面最重要的角色便是AspNetCoreModule,它是其中一个的IIS模块,请求进入到IIS之后便立即由它转发,并迅速重定向到ASP.NET Core项目中,所以这时候我们无需设置应用程序池来托管我们的代码,它只负责转发请求而已。

  部署之前要确保你的IIS上已经安装了AspNetCoreModule托管模块,如果没有的话,点击https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/aspnet-core-module?tabs=aspnetcore2x根据core版本,选择相应包下载安装.

  发布程序,并部署网站,这一步和传统web网站没有什么不同。

  设置应用程序池的.NET CLR版本为“无托管代码”,因为刚才也说了,IIS是作为一个反向代理的角色,并不需要它来托管代码

  

  (PS 图片借用园友图,侵删)

  


具体信息可参考官方文档 https://docs.microsoft.com/en-us/aspnet/core/publishing/iis

 

posted @   木~木  阅读(2449)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· 展开说说关于C#中ORM框架的用法!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
点击右上角即可分享
微信分享提示