使用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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM