使用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項目中,因此這時候咱們無需設置應用程序池來託管咱們的代碼,它只負責轉發請求而已。web

  部署以前要確保你的IIS上已經安裝了AspNetCoreModule託管模塊,若是沒有的話,點擊https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/aspnet-core-module?tabs=aspnetcore2x根據core版本,選擇相應包下載安裝.服務器

  發佈程序,並部署網站,這一步和傳統web網站沒有什麼不一樣。網站

  設置應用程序池的.NET CLR版本爲「無託管代碼」,由於剛纔也說了,IIS是做爲一個反向代理的角色,並不須要它來託管代碼spa

  

  (PS 圖片借用園友圖,侵刪).net

  

  具體信息可參考官方文檔 https://docs.microsoft.com/en-us/aspnet/core/publishing/iis
相關文章
相關標籤/搜索