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

降级.NET SDK至7后本地Swagger UI无法访问问题求助

解决.NET 7下Swagger UI的ERR_HTTP2_INADEQUATE_TRANSPORT_SECURITY错误

以下是针对该问题的具体解决步骤:

  • 重置本地HTTPS开发证书
    卸载重装.NET SDK可能导致本地HTTPS证书失效或未正确信任。以管理员身份打开命令提示符,执行以下命令:

    dotnet dev-certs https --clean
    dotnet dev-certs https --trust
    

    执行完成后重启应用,重新访问Swagger UI。

  • 调整Kestrel的HTTP协议配置
    若项目强制启用HTTP/2但本地环境不匹配安全套件要求,可修改Kestrel配置,允许同时使用HTTP/1和HTTP/2:
    在Program.cs中添加如下配置:

    builder.WebHost.ConfigureKestrel(options =>
    {
        options.ListenAnyIP(8080, listenOptions =>
        {
            listenOptions.Protocols = Microsoft.AspNetCore.Server.Kestrel.Core.HttpProtocols.Http1AndHttp2;
            listenOptions.UseHttps();
        });
    });
    

    或在appsettings.json中配置:

    "Kestrel": {
      "Endpoints": {
        "Https": {
          "Url": "https://localhost:8080",
          "Protocols": "Http1AndHttp2"
        }
      }
    }
    
  • 清除浏览器缓存与SSL状态
    浏览器缓存的旧SSL会话或HSTS记录可能导致请求失败:

    • 清除浏览器的缓存数据(包括Cookie和缓存文件);
    • 以Chrome为例,可访问chrome://net-internals/#hsts,删除localhost的HSTS记录;
    • 尝试用隐私模式访问Swagger UI,排除缓存干扰。
  • 验证Swagger配置完整性
    确认项目中Swagger的启用代码未被误修改:

    // 注册Swagger服务
    builder.Services.AddSwaggerGen();
    
    // 启用Swagger中间件
    app.UseSwagger();
    app.UseSwaggerUI();
    

    同时检查launchSettings.json中ASPNETCORE_ENVIRONMENT是否设置为Development,避免Swagger因环境限制未启用。

内容的提问来源于stack exchange,提问作者Tal Dayan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 22:03:17