将RequireHttpsAttribute添加到Filters后,无法在MVC6应用程序中禁用SSL连接

时间:2015-12-05 00:31:36

标签: asp.net-mvc ssl https asp.net-core-mvc

每次运行项目时,我都会将问题重定向到https。 结果我得到了ERR_SSL_PROTOCOL_ERROR。

我想要的只是在调试时使用标准的Http连接。

在添加以下代码后出现问题:

public void ConfigureServices(IServiceCollection services)
{
    services.AddMvc(config =>
    {
       config.Filters.Add(new RequireHttpsAttribute());
    });
}

删除此过滤器后仍然存在此问题:网站尝试通过SSL进行连接。

还尝试在另一个浏览器中运行此应用程序,这会导致有趣的行为:第一次在另一个浏览器中运行应用程序我有Http连接并且页面运行正常,但是当我重定向到下一个操作时,新页面加载了Https,所以它会抛出此SSL错误。在同一个浏览器中再次运行应用后,即使在第一页也能获得Https连接。

请帮助:)

3 个答案:

答案 0 :(得分:0)

重新创建项目并从之前的项目中移动代码后,问题得以解决。还是不知道为什么会出现这个问题。不管怎样,谢谢。

答案 1 :(得分:0)

我遇到了同样的问题。尝试清除浏览器缓存,它应该可以正常工作。

答案 2 :(得分:0)

因为RequireHttps发出301(永久重定向)。由于您将其应用于所有请求,因此无法再次使用http,因为大多数主流浏览器会无限期地缓存此请求。 如果你的幸运,你只在测试中使用它来清除你的浏览器缓存将解决它。 如果你发布这个网站你运气不好。

它基本上是一条单行道,我正在竞选302,默认它可以阻止这种奇怪的行为并节省几个小时的头部刮伤。