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

配置ASP.NET Core应用HTTPS/TLS时遇SSL_ERROR_RX_RECORD_TOO_LONG错误

解决ASP.NET Core TLS配置中的SSL_ERROR_RX_RECORD_TOO_LONG错误

这个错误我之前帮不少开发者排查过,大概率是HTTPS端口配置不匹配或者HTTP/HTTPS协议混用导致的,咱们一步步来解决:

  • 先检查端口绑定是否正确
    打开项目根目录下的Properties/launchSettings.json,找到你的项目配置段,确认applicationUrl同时包含HTTPS和HTTP的端点,并且HTTPS端口是你用的54321:

    "profiles": {
      "YourProjectName": {
        "commandName": "Project",
        "dotnetRunMessages": true,
        "launchBrowser": true,
        "applicationUrl": "https://localhost:54321;http://localhost:54320",
        "environmentVariables": {
          "ASPNETCORE_ENVIRONMENT": "Development"
        }
      }
    }
    

    如果这里只有HTTP的地址,那浏览器用HTTPS访问肯定会报错,补上HTTPS的端口就行。

  • 确认Kestrel的HTTPS配置
    如果你手动修改过Kestrel的配置,要确保它监听54321端口时启用了HTTPS。以.NET 6+的Program.cs为例:

    var builder = WebApplication.CreateBuilder(args);
    
    // 配置Kestrel监听HTTPS端口
    builder.WebHost.ConfigureKestrel(serverOptions =>
    {
        // 监听本地54321端口并启用HTTPS
        serverOptions.ListenLocalhost(54321, opt => opt.UseHttps());
    });
    
    // 其他服务配置...
    var app = builder.Build();
    
    // 中间件配置...
    app.Run();
    

    要是用了自定义证书,还要在UseHttps里指定证书路径和密码,别漏了。

  • 检查访问URL的协议
    别犯低级错误!确保你在浏览器里输入的是https://localhost:54321,而不是http://localhost:54321——如果端口只绑定了HTTPS,用HTTP访问就会触发这个“记录过长”的错误,反过来也一样。

  • 修复开发证书问题
    开发环境下的自签名证书如果未信任或者损坏,也可能导致连接异常。打开命令行执行以下命令重置证书:

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

    执行完后重启你的应用,再试试访问。

  • 核对项目属性的SSL设置
    你已经勾选了“Enable SSL”,但要确认项目属性里的SSL端口是不是54321,这个值要和launchSettings里的sslPort以及applicationUrl里的HTTPS端口保持一致,不一致的话手动改成相同的端口号。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 11:44:02