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

Asp.NET MVC项目HTTP被重定向至HTTPS导致访问失败求助

解决方案排查步骤
  • 检查IIS站点绑定与SSL设置

    1. 打开服务器IIS管理器,找到目标站点:
      • 确认站点仅配置HTTP绑定(端口8080,IP设为「全部未分配」或指定服务器IP),无多余HTTPS绑定。
      • 进入站点「SSL设置」,确保未勾选「要求SSL」,该选项会强制将HTTP请求重定向至HTTPS。
    2. 检查URL重写规则:
      • 进入站点「URL重写」模块,删除所有强制HTTP转HTTPS的规则。也可直接查看web.config的<rewrite>节点,确认无如下规则:
        <rules>
          <rule name="HTTP to HTTPS redirect" stopProcessing="true">
            <match url="(.*)" />
            <conditions>
              <add input="{HTTPS}" pattern="off" ignoreCase="true" />
            </conditions>
            <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Permanent" />
          </rule>
        </rules>
        
  • 排查Asp.NET MVC全局强制HTTPS逻辑

    1. 打开项目FilterConfig.cs,确认未全局注册RequireHttpsAttribute:
      // 若存在如下代码,直接注释或删除
      filters.Add(new RequireHttpsAttribute());
      
    2. 检查所有控制器、Action是否单独标记了[RequireHttps]特性,如有则移除。
  • 排查服务器反向代理/防火墙配置
    如果服务器前端有Nginx、Apache或云负载均衡:

    • 确认代理服务未配置强制HTTPS跳转规则(比如Nginx的return 301 https://$host$request_uri;)。
    • 检查防火墙是否允许8080端口的HTTP流量,且未将HTTP请求强制转发至HTTPS端口。
  • 客户端侧缓存清理
    让客户端执行以下操作:

    • 使用浏览器隐私模式访问目标地址,排除常规缓存干扰。
    • 清除浏览器历史记录、缓存及Cookie,避免旧重定向缓存残留。
  • 验证部署包配置
    确认服务器上的部署包:

    • web.config无<httpRedirect>等强制HTTPS跳转的配置节点。
    • 若使用appsettings.json,检查是否存在"EnforceHttps": true类配置,如有则改为false。

内容的提问来源于stack exchange,提问作者Seyfemichael Teklemariam

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 02:10:14