Mac Sonoma 14.4下Dotnet 8.0.203 SDK WebAPI HTTPS异常问题
.NET 8.0.203 + Mac Sonoma 14.4 重复HTTPS请求触发Kestrel加密异常问题
问题根源
这是**.NET 8.0.203 SDK与Mac Sonoma 14.4的TLS/SSL底层兼容性Bug**,具体是Kestrel服务器在复用HTTPS连接时,调用系统加密API出现内存地址错误(异常中的Win32Exception (14): Bad address对应macOS的EFAULT错误)。.NET 7.0.202无此问题,说明该Bug是.NET 8特定版本引入的,和Kestrel的TLS会话复用逻辑与系统加密库的交互有关。
临时修复方案
- 禁用TLS会话复用:在项目的
Program.cs中添加Kestrel配置,强制关闭TLS连接复用:builder.WebHost.ConfigureKestrel(options => { options.ConfigureHttpsDefaults(httpsOpts => { httpsOpts.AllowTlsResume = false; }); }); - 升级.NET 8补丁版本:尝试安装.NET 8的后续更新版本(如8.0.300及以上),微软大概率已在补丁中修复该兼容性问题。
是否需要提交Bug报告
需要。这是可复现的环境特定Bug,属于.NET运行时/Kestrel组件的问题,符合微软官方Bug提交的条件。提交时务必提供以下信息:
- 系统版本:Mac Sonoma 14.4
- .NET SDK版本:8.0.203
- 精确复现步骤:
dotnet new webapi创建项目、两次curl请求的操作流程 - 完整的异常日志内容
内容的提问来源于stack exchange,提问作者Stobbej
相关产品推荐
相关产品推荐

