无法为网站禁用SSL

Joo*_*asL 5 asp.net iis visual-studio asp.net-mvc-4

我创建了一个网站并将其部署到Windows Azure.在开发过程中的某个地方,我从项目属性中启用了SSL,并且所有内容(https地址)在localhost和我部署网站的Azure网站上运行良好.

现在我的Azure试用版即将到期,我正在将我的网站移动到另一个免费的asp.net托管,不支持SSL而不付费.

所以我认为它会变得简单,只需将SSL Enabled设置为False,就像我第一次开始开发时一切都很好,但事实并非如此.

禁用SSL后,我的网站拒绝工作.打开IIS Express的Visual Studio设置图片,显示正确的地址上有服务器:http://db.tt/EKTcxPsd

当我从Visual Studio启动该站点时,它开始加载页面localhost:44300.几秒钟后,我被重定向到https://localhost显示"网页不可用"错误.图片:http://db.tt/VntZTpKD

我尝试删除IISExpress文件夹并重新启动visual studio.重新创建的applicationhost.config文件具有正确的信息(据我所知)

<site name="PrototypeNew-bootstrap3" id="2">
  <application path="/" applicationPool="Clr4IntegratedAppPool">
    <virtualDirectory path="/" physicalPath="E:\path-shortened\Visual Studio 2013\Projects\PrototypeNew\PrototypeNew-branch" />
  </application>
  <bindings>
    <binding protocol="http" bindingInformation="*:44300:localhost" />
  </bindings>
</site>
Run Code Online (Sandbox Code Playgroud)

将网站发布到托管环境后,我遇到了同样的问题.要将http://mywebsite.com我重定向到https://mywebsite.com并显示与localhost页面相同的错误.

如果我重新启用SSL,那么我的localhost上的https地址开始正常工作.

有谁知道这里发生了什么?是否有其他SSL交换机,我忘了关闭?为什么总是将我重定向到https

编辑.尝试创建一个新的asp.net mvc 4项目.推出它,它工作正常.将web.config复制到我的项目,它仍然重定向到https:localhost

Joo*_*asL 14

好的,我终于找到了解决方案.FilterConfig.cs如下所示:

public static void RegisterGlobalFilters(GlobalFilterCollection filters)
    {
        filters.Add(new HandleErrorAttribute());
        filters.Add(new System.Web.Mvc.AuthorizeAttribute());
        filters.Add(new RequireHttpsAttribute()); // problem
    }
Run Code Online (Sandbox Code Playgroud)

我启用SSL时必须自动添加RequireHttpsAttribute,然后才删除它.手动删除它修复了问题.