ASP.NET Core 6.0 Kestrel服务器无法访问指定配置URL该如何解决?
常见配置错误点
- 监听地址格式错误
你调用UseUrls()传入的https://myfirstproj1.asp是错误的地址格式:Kestrel的监听地址仅支持「协议+主机/IP+端口」的格式,不能带路径后缀。示例合法格式如下:
// 本地监听5001端口 builder.WebHost.UseKestrel().UseUrls("https://localhost:5001") // 绑定指定域名443端口 builder.WebHost.UseKestrel().UseUrls("https://your-domain.com:443") // 监听所有网卡的5001端口 builder.WebHost.UseKestrel().UseUrls("https://*:5001")
- IIS集成导致配置被覆盖
你同时启用了UseIISIntegration(),如果你的项目是通过IIS/IIS Express启动的,IIS的配置优先级会高于代码中的UseUrls()设置,此时代码里指定的地址不会生效,需要修改项目Properties目录下的launchSettings.json中的IIS相关端口配置,或者启动时直接选择对应项目名的启动项(即直接用Kestrel启动,不经过IIS反向代理)。 - 额外排查点
如果你配置的是公网域名监听,需要确认:
- 域名DNS解析已指向运行服务的服务器公网IP
- 服务器对应端口(默认https是443)的入站规则已在防火墙放开
- 已配置对应域名的有效SSL证书,否则浏览器会主动拦截访问请求
内容的提问来源于stack exchange,提问作者рагнарос повелитель огня
相关产品推荐
相关产品推荐

