上周欣喜地發(fā)現(xiàn),微軟官方終于針對 asp.net core 在使用負載均衡的情況下從 http 強制重定向至 https 的問題提供了解決方法。
app.UseForwardedHeaders(new ForwardedHeadersOptions { ForwardedHeaders = ForwardedHeaders.XForwardedProto });var options = new RewriteOptions() .AddRedirectToHttpsPermanent(); app.UseRewriter(options);
但實際使用之后,欣喜變成了失望 —— 微軟對這個問題的認識角度和我們不一樣,造成這個方法對我們不適用,不得不繼續(xù)使用我們的土方法。
為什么會這樣?請看下面的分解。
AddRedirectToHttpsPermanent 早就在 BasicMiddleware 的 RedirectToHttpsRule 中實現(xiàn)了,它的邏輯很簡單 —— 判