Blazor WASM调用本地CRUD API出现TLS 1.0警告与404错误求助
问题排查与解决方案
一、404 接口访问错误修复
- 确认API服务启动端口是否匹配:查看API项目
Properties/launchSettings.json文件中的applicationUrl配置,确认服务实际监听的端口是否为请求地址中的5000,若端口被其他进程占用,.NET会自动分配其他端口,导致请求地址不匹配返回404。 - 检查接口路由配置:确认
CompanyInfo控制器顶部是否标注了[Route("api/[controller]")]特性,查询单条数据的Action方法是否标注了[HttpGet("{id}")]特性,路由规则拼写错误会直接导致404。 - 修正Blazor端HttpClient配置:Blazor WASM项目
Program.cs中注册HttpClient的代码,优先填写API的HTTPS端口地址,示例:
.NET默认会将HTTP端口的请求重定向到HTTPS端口,使用HTTP端口访问时可能因重定向导致路由丢失。builder.Services.AddScoped(sp => new HttpClient { BaseAddress = new Uri("https://localhost:5001/") }); - 本地直连验证接口:直接在浏览器地址栏输入API接口完整地址(如
https://localhost:5001/api/CompanyInfo/1),如果直接访问也返回404,说明问题出在API项目本身,和Blazor前端无关。 - 确认API已配置CORS规则:允许Blazor项目的域名、端口跨域访问,跨域拦截也可能导致接口请求返回异常状态码。
二、TLS 1.0 安全警告修复
- 优先使用HTTPS端口访问API,大部分场景下切换到HTTPS端口后该警告会自动消失。
- 若警告仍存在,在API项目
Program.cs文件最顶部添加强制使用高版本TLS的配置:System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12 | System.Net.SecurityProtocolType.Tls13; - Windows 10 系统默认已启用TLS1.2/1.3,若手动修改过协议配置,可打开注册表编辑器定位到
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols,确认TLS1.2、TLS1.3的客户端和服务端均设置为启用状态。
内容的提问来源于stack exchange,提问作者Zabron Muyambo
相关产品推荐
相关产品推荐

