首页 > 解决方案 > 尽管配置了防火墙,但 Google Cloud Linux VM 不允许 HTTP 访问事件

问题描述

我最近在谷歌云上创建了一个虚拟机实例,操作系统是 Ubuntu 18.04.5,这个实例看起来还不错。我克隆了一个 git 存储库并将 .NET Core API 放在本地运行,如下面的屏幕截图所示。

终端运行应用

然后,我向虚拟机 VPC 添加了一条防火墙规则,允许通过这些端口完成 HTTP 连接,如下面的屏幕截图所示。

VPC 防火墙配置

可以看出,它应该从每个来源应用于网络中的所有实例,并且我确保在尝试排除故障时将其打开出站和入站。无论如何,当我尝试使用我的浏览器访问它(Swagger UI)时,它说它无法连接,甚至 telnet 命令正在超时。

我可以做其他任何配置吗?我在误导什么吗?会是什么呢?

标签: .netgoogle-cloud-platformvirtual-machinegoogle-compute-enginevpc

解决方案


对于后代搜索,只需更改我的启动设置以强制我的服务器侦听0.0.0.0而不是localhost. 为此,我从以下位置更新了我的 launchSettings.json 文件:

"Api": {
  "commandName": "Project",
  "launchBrowser": true,
  "launchUrl": "https://localhost:44395/",
  "applicationUrl": "https://localhost:44395/",
  "environmentVariables": {
    "ASPNETCORE_ENVIRONMENT": "Development"
  }
}

到:

"Api": {
  "commandName": "Project",
  "launchBrowser": true,
  "launchUrl": "https://0.0.0.0:44395/",
  "applicationUrl": "https://0.0.0.0:44395/",
  "environmentVariables": {
    "ASPNETCORE_ENVIRONMENT": "Development"
  }
}

推荐阅读