ASP.NET Web API启动异常:无法确定HTTPS重定向端口,页面无法访问
问题分析与解决方案
是否需要配置launchSettings.json?
是的,你的问题和launchSettings.json的配置以及HTTPS重定向逻辑直接相关,需要调整配置或修改启动方式来解决。
当前launchSettings.json的配置缺陷
启动Profile与监听端口不匹配
从日志可见程序仅监听http://localhost:5074,说明你启动的是httpProfile,但该Profile仅配置了HTTP端口,没有提供HTTPS端口信息。而你的项目中启用了HTTPSRedirectionMiddleware(HTTPS重定向中间件),中间件无法找到HTTPS端口,因此抛出Failed to determine the https port for redirect警告,重定向逻辑异常导致访问HTTP地址时出现问题。根路径无对应路由
ASP.NET Web API默认没有根页面(http://localhost:5074),你直接访问根路径会显示页面找不到,正确的访问路径应该是http://localhost:5074/swagger(对应launchUrl配置的swagger文档地址)。
修复步骤
方案一:关闭HTTPS重定向(仅用HTTP开发)
打开Program.cs,注释掉以下代码行:
// app.UseHttpsRedirection();
修改后启动http Profile,直接访问http://localhost:5074/swagger即可查看接口文档,警告也会消失。
方案二:使用HTTPS Profile启动(推荐)
- 在Visual Studio的启动配置下拉菜单中选择
httpsProfile,或者使用命令行启动:dotnet run --launch-profile https - 该Profile的
applicationUrl已配置了HTTPS(https://localhost:7297)和HTTP双端口,启动后程序会同时监听两个端口,HTTPS重定向中间件能正确识别HTTPS端口,警告自动消失。访问http://localhost:5074会自动重定向到https://localhost:7297/swagger。
额外检查
如果HTTPS访问仍有证书问题,执行以下命令信任.NET开发证书:
dotnet dev-certs https --trust
内容的提问来源于stack exchange,提问作者Emmanuel Rusiana
相关产品推荐
相关产品推荐

