.NET 6 C# API端点在Chrome报ERR_SSL_PROTOCOL_ERROR求助
Chrome访问本地.NET6 API出现ERR_SSL_PROTOCOL_ERROR的解决办法
下面是针对该问题的常见原因及对应解决方案:
Chrome强制跳转HTTPS
Chrome可能自动将localhost的HTTP请求重定向到HTTPS,而你的API未配置正确的HTTPS证书导致报错。
解决步骤:- 在Chrome地址栏输入
chrome://net-internals/#hsts - 找到「Delete domain security policies」模块,输入
localhost后点击「Delete」 - 若上述操作无效,可修改Chrome快捷方式:右键快捷方式→属性→目标栏末尾添加
--unsafely-treat-insecure-origin-as-secure=http://localhost:54471(注意前面加空格),重启Chrome后再尝试访问。
- 在Chrome地址栏输入
本地SSL证书未信任
Chrome对本地开发证书的验证标准更严格,即使你用HTTP访问,也可能因证书问题触发错误。
解决步骤:
打开VS的「工具」→「命令行」→「开发者命令提示符」,执行命令:dotnet dev-certs https --trust按提示完成证书信任操作后,重启API项目和Chrome。
缓存或扩展干扰
浏览器缓存的旧安全策略、安全类扩展可能拦截HTTP请求。
解决步骤:- 先尝试用Chrome隐身模式访问,若正常则说明是缓存或扩展问题
- 清除Chrome缓存(快捷键Ctrl+Shift+Delete),或逐一禁用扩展排查干扰项。
API端口/协议配置冲突
若你的API调试时同时监听HTTP和HTTPS端口,Chrome可能优先选择有问题的HTTPS端口发起请求。
解决步骤:
打开项目中的launchSettings.json文件,检查applicationUrl配置:- 若不需要HTTPS,可暂时移除HTTPS地址,只保留
http://localhost:54471 - 确认配置无误后重启API项目。
- 若不需要HTTPS,可暂时移除HTTPS地址,只保留
内容的提问来源于stack exchange,提问作者John
相关产品推荐
相关产品推荐

