使用iis反向代理.net core应用程序_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > 使用iis反向代理.net core应用程序

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

 2017/8/27 23:08:43  木~木  程序员俱乐部  我要评论(0)
  • 摘要:.netcore其实是自宿主性质的web应用程序,而不再是web网站,所以.netcore是可以直接单独作为系统服务部署。但是实际情况中,为了同个一个端口能支持多个web应用和统一管理,还是应该与某个服务器整合,比如iis,Jexus。所以.netcore不再是由iis工作进程进行托管,而是使用自托管Web服务器(Kestrel)。iis则是作为反向代理的角色,将请求转发到Kestrel。在这里面最重要的角色便是AspNetCoreModule,它是其中一个的IIS模块
  • 标签:程序 .net iiS 使用 net 应用 代理 应用程序

  .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 图片借用园友图,侵删)

  最后,需要生产环境,需要注意在web.config文件中添加环境变量

 <environmentVariables>
        <environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Development" />
  </environmentVariables>
具体信息可参考官方文档 https://docs.microsoft.com/en-us/aspnet/core/publishing/iis

 

发表评论
用户名: 匿名