RequireHttpsAttribute with ASP.NET Core MVC - ERR_TOO_MANY_REDIRECTS

时间:2018-03-13 22:34:15

标签: c# asp.net redirect asp.net-core url-rewriting

我在IIS Windows 2016 Server上有一个简单的ASP.NET Core 2.0 MVC网站。

在我的TextView文件中,如果用户在 http 上,我尝试将自动重定向配置为 https 。 但是,Chrome(以及其他浏览器)一直在告诉我:

startup.cs
  1. 我按照本指南强制执行https: https://docs.microsoft.com/en-us/aspnet/core/security/enforcing-ssl
  2. 我已正确安装了SSL证书。来自letsencrypt.org
  3. 我已按照本指南使用IIS而不是Kestrel: https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/iis/?tabs=aspnetcore2x
  4. 这是我的代码:

    This page isn’t working
    www.example.org redirected you too many times.
    Try clearing your cookies. (yup, did that)
    ERR_TOO_MANY_REDIRECTS
    

    如果我关闭public void ConfigureServices(IServiceCollection services) { ... // Enforce https services.Configure<MvcOptions>(options => { options.Filters.Add(new RequireHttpsAttribute()); }); } public void Configure(IApplicationBuilder app, IHostingEnvironment env) { ... // Enforce https var options = new RewriteOptions() .AddRedirectToHttps(); app.UseRewriter(options); } 我可以毫无问题地浏览网站。 我查看https://stackoverflow.com/a/38019631/560784,其中包含RequireHttpsAttribute中的以下内容。也没用:(

    startup.cs

    希望得到一些帮助 - 我错过了什么?

1 个答案:

答案 0 :(得分:1)

根据Microsoft人员对Microsoft文档Enforce HTTPS in an ASP.NET Core主题的评论:

“如果您使用2.1之前创建的模板,则需要将[AllowAnonymous]应用于登录”