X-Forwarded-Proto未在ASP.NET核心中间件中初始化

时间:2019-12-23 16:34:16

标签: asp.net-core cloudflare

我正在Azure和Cloud Flare之后托管ASP.NET Core 3应用程序。应用程序的默认HttpContext.Request.Scheme是HTTP,我想将其更改为HTTPS。因此,我需要从Cloud Flare拦截X-Forwarded-Proto

我发现ASP.NET Core可以做到这一点,并且具有内置解决方案。所以我加了

     public void ConfigureServices(IServiceCollection services)
        {
        services.Configure<ForwardedHeadersOptions>(options =>
            {
                options.ForwardedHeaders =
                    ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto;
            });
//***
}

   public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        {
            app.UseForwardedHeaders();
//***
}

不幸的是,HttpContext.Request.Scheme仍然通过请求中存在的HTTP标头返回X-Forwarded-Proto。为什么代码不起作用?

X-Forwarded-Proto: [
"https"
],

0 个答案:

没有答案
相关问题