You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASP.NET Core 2.0在Mac上localhost无法连接但Windows正常求助

解决ASP.NET Core 2.0在Mac上的localhost连接问题

你遇到的核心问题是浏览器强制跳转到无端口的HTTPS地址,但实际Kestrel只监听了HTTP端口,导致连接失败。结合你的描述,我整理了几个针对性的解决步骤:

1. 完善launchsettings.json的Kestrel配置

Mac上运行ASP.NET Core用的是Kestrel而非IIS Express,你贴的配置不完整,要确保profiles里的项目专属配置(不是IIS Express那项)有正确的端口设置。补充后的配置示例如下:

"profiles": {
  "YourWebAppName": {
    "commandName": "Project",
    "launchBrowser": true,
    "applicationUrl": "http://localhost:51684;https://localhost:5001",
    "environmentVariables": {
      "ASPNETCORE_ENVIRONMENT": "Development"
    }
  },
  "IIS Express": {
    "windowsAuthentication": false,
    "anonymousAuthentication": true,
    "iisExpress": {
      "applicationUrl": "https://localhost:44314/",
      "sslPort": 44314
    }
  }
}

这里给Kestrel同时配置了HTTP和HTTPS端口,确保应用能正常监听。

2. 清除Chrome的HSTS缓存

浏览器之前可能记录了localhost的HTTPS强制跳转规则,导致你粘贴HTTP地址也会自动跳转。操作步骤:

  • 在Chrome地址栏输入 chrome://net-internals/#hsts
  • 找到「Delete domain security policies」区域,输入localhost,点击Delete
  • 完全关闭Chrome后重新打开

3. 检查HTTPS重定向中间件

如果你的Startup.cs里有app.UseHttpsRedirection();这行代码,但Kestrel没正确配置HTTPS证书,就会导致跳转错误。你可以先暂时注释掉这行,测试HTTP是否能正常访问;如果需要HTTPS,继续下一步。

4. 生成并信任Mac上的开发SSL证书

Mac上默认没有ASP.NET Core的开发SSL证书,需要手动生成:

  • 打开终端,运行命令:dotnet dev-certs https --trust
  • 按照系统提示输入密码,信任这个证书
  • 重启你的ASP.NET Core应用,此时Kestrel就能正常监听HTTPS端口了

5. 指定浏览器打开的正确URL

在launchsettings.json的Kestrel配置里加上launchUrl,确保浏览器打开的是正确地址:

"launchBrowser": true,
"launchUrl": "http://localhost:51684"

按这些步骤操作后,应该就能正常访问你的应用了。

内容的提问来源于stack exchange,提问作者brandoq123

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 03:07:51