局域网下无法访问Asp.net Core Web项目,我承认是我傻*了

我的网站有个问题,是移动端显示的问题。打算在局域网下手机访问localhost方便调试,可是怎么也访问失败,本地是能正常启动的,可是手机访问本地ip却打不开。我试试用Golang-Gin启动了8080服务端口,手机是能访问的,可偏偏asp.net core这个项目局域网下怎么也访问不到,见了鬼了。

于是我快速逐一尝试:换端口?没用!8080端口Gin能访问,你aspCore就不行了?所以防火墙端口没有问题!是否配置文件没有配置清楚?于是我baidu,在launchSettings.json添加Urls远程访问的ip,我笑了,还是不行。于是我google,突然想到我是在vs下debug启动调式的,而vs启动项目是采用iis express形式托管项目运行,而我的launchSettings.json具体内容是:

{
  "profiles": {
    "CoolNetBlog": {
      "commandName": "Project",
      "launchBrowser": true,
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Production"
      },
      "applicationUrl": "https://localhost:5001;http://localhost:5000"
    }
  }
}
没有iis的配置,只有.net core cli的配置。所以任何设置都对以vs启动的方式无效。所以我改成以命令行形式启动项目:dotnet run

然后在手机访问可是还是不行!郁闷啊。

于是在StackOverflow上找到解决办法,说是.asp.net core默认拒绝局域网下的ip远程访问,需要修改配置,如:

"applicationUrl": "https://localhost:5001;http://odin:5000"

odin其实就是::,允许所有ip,然后刷新就成功了。。。

来自:CSharp
更新于2023-08-13 20:51:06 发表于2023-08-13 20:12:52


发表您的评论





公元2024年甲辰龍年,平安健康、龍行天下!