上周欣喜地发现,微软官方终于针对 asp.net core 在使用负载均衡的情况下从 http 强制重定向至 https 的问题提供了解决方法。

iOS培训,Swift培训,苹果开发培训,移动开发培训

app.UseForwardedHeaders(new ForwardedHeadersOptions
{
    ForwardedHeaders = ForwardedHeaders.XForwardedProto
});var options = new RewriteOptions()
    .AddRedirectToHttpsPermanent();
app.UseRewriter(options);

iOS培训,Swift培训,苹果开发培训,移动开发培训

但实际使用之后,欣喜变成了失望 —— 微软对这个问题的认识角度和我们不一样,造成这个方法对我们不适用,不得不继续使用我们的土方法。

为什么会这样?请看下面的分解。 

AddRedirectToHttpsPermanent 早就在 BasicMiddleware 的 RedirectToHttpsRule 中实现了,它的逻辑很简单 —— 判