簡體   English   中英

將IIS配置為兩個kestrel服務器的負載均衡器(對於同一網站)

[英]Configure IIS as a load balancer for two kestrel servers (for the same website)

ASP.NET Core無法直接在IIS中運行,因為它需要Kestrel。

這意味着無法像在傳統的ASP.NET站點中那樣在運行時更新網站,因為在更新期間必須關閉茶隼服務器。

我想在不添加額外的Web服務器和負載均衡器的情況下避免停機。 是否可以在IIS中配置ASP.NET Core模塊以連接到兩個不同的Kestrel服務器? 因此,如果其中一個被關閉,所有請求將轉到另一個請求?

(我想在磁盤上有兩個不同的文件夾: C:\\inetpub\\wwwroot\\mysite_instance1C:\\inetpub\\wwwroot\\mysite_instance2 ,因此關閉一個將啟用該實例的更新)

如果有可能,我們需要注意哪些因素? 例如,是否需要以某種方式配置防偽令牌? (我不使用會話。)

我也對一個簡潔的負載均衡器機制感興趣,但不知道怎么做。 但是,您可以將Web應用程序所針對的目錄從目錄C:\\ inetpub \\ wwwroot \\ mysite_instance1完美地切換到目錄C:\\ inetpub \\ wwwroot \\ mysite_instance2,更新instance1並將其切換回來,它應該完成這項工作。

由於IIS和AspNetCoreModule的工作方式,目前不支持此功能。

IIS將IHttpContext對象傳遞給AspNetCoreModule。 AspNetCoreModule使用IHttpContext對象來查詢物理應用程序路徑。 然后,該模塊讀取在應用程序目錄中找到的web.config文件。 完成此操作后,模塊將在IIS應用程序和dotnet進程之間保持1:1的關系。

我已將此問題作為一個問題提出,並代表您提供了一些其他詳細信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM