You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MVC应用SSL故障期间,如何将HTTPS替换为HTTP消除不安全提示?

解决MVC应用SSL故障时强制跳转HTTP的方案

嗨,我来帮你搞定这个问题!当SSL出问题的时候,确实不想让用户看到那个烦人的“Not Secure”提示,咱们可以通过两种方式强制把所有HTTPS请求跳转到HTTP,具体方案如下:

方法1:通过IIS URL重写模块配置(推荐,无需改代码)

这是最直接的服务器端配置,不用动应用代码,适合有权限操作IIS的情况:

  • 打开IIS管理器,找到你的目标网站
  • 双击URL重写模块(如果没有这个模块,需要先安装IIS的URL重写组件)
  • 点击右侧面板的添加规则,选择空白规则
  • 按以下步骤配置规则:
    • 规则名称:可以设为Redirect HTTPS to HTTP
    • 匹配URL部分:
      • 请求路径选择Matches the Pattern
      • 模式填(.*),使用Regular Expressions
    • 条件部分:
      • 点击添加,条件输入填{HTTPS},匹配类型选Matches the Pattern,模式填ON
    • 操作部分:
      • 操作类型选Redirect
      • 重定向URL填http://{HTTP_HOST}/{R:1}
      • 重定向类型选Found (302)(临时重定向,等SSL修复后改回HTTPS更方便,不会让浏览器缓存永久规则)
    • 最后点击应用保存规则

方法2:在MVC代码中实现跳转(适合无法操作IIS的场景)

如果没权限改IIS配置,或者想在应用层面控制,可以在代码里加跳转逻辑:

针对MVC 5及更早版本(Global.asax)

打开Global.asax.cs,在Application_BeginRequest方法里添加以下代码:

protected void Application_BeginRequest()
{
    // 检测当前请求是否是HTTPS
    if (Request.IsSecureConnection)
    {
        // 构建对应的HTTP地址
        string httpUrl = "http://" + Request.Url.Host + Request.Url.PathAndQuery;
        // 执行临时重定向
        Response.Redirect(httpUrl, true);
    }
}

针对ASP.NET Core MVC(Startup.cs)

在Startup.cs的Configure方法里,添加一个自定义中间件(要放在路由相关中间件之前):

app.Use(async (context, next) =>
{
    if (context.Request.IsHttps)
    {
        // 构建HTTP格式的URL
        var httpUri = new UriBuilder(context.Request.Uri)
        {
            Scheme = Uri.UriSchemeHttp,
            Port = 80 // 如果你的网站用了非默认HTTP端口,这里改成对应端口
        }.Uri;
        
        // 临时重定向到HTTP地址
        context.Response.Redirect(httpUri.ToString(), permanent: false);
        return;
    }
    await next();
});

注意:这个中间件一定要放在app.UseRouting()和app.UseEndpoints(...)之前,确保重定向逻辑优先执行。

几个关键提醒

  • 优先用302临时重定向:等GoDaddy修复好SSL后,你要改回HTTPS,临时重定向不会让浏览器缓存永久跳转规则,避免后续用户访问异常。
  • 检查表单提交:如果网站里有表单,确保表单的action属性是HTTP格式(不过重定向后一般会自动适配,但最好确认一下)。
  • 记得及时复原:等SSL问题解决后,一定要把这些重定向配置删掉,重新启用HTTPS,毕竟HTTPS才是更安全的访问方式。

内容的提问来源于stack exchange,提问作者shami sheikh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 07:18:05