.net - 尽管配置了防火墙,但 Google Cloud Linux VM 不允许 HTTP 访问事件
问题描述
我最近在谷歌云上创建了一个虚拟机实例,操作系统是 Ubuntu 18.04.5,这个实例看起来还不错。我克隆了一个 git 存储库并将 .NET Core API 放在本地运行,如下面的屏幕截图所示。
然后,我向虚拟机 VPC 添加了一条防火墙规则,允许通过这些端口完成 HTTP 连接,如下面的屏幕截图所示。
可以看出,它应该从每个来源应用于网络中的所有实例,并且我确保在尝试排除故障时将其打开出站和入站。无论如何,当我尝试使用我的浏览器访问它(Swagger UI)时,它说它无法连接,甚至 telnet 命令正在超时。
我可以做其他任何配置吗?我在误导什么吗?会是什么呢?
解决方案
对于后代搜索,只需更改我的启动设置以强制我的服务器侦听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"
}
}
推荐阅读
- python - 是否有任何 python Timestamp API 来计算一年中的某一天、一年中的一个月和一年中的一周
- php - PHP:登录后发出用户特定请求
- php - 如果生成了新的 JWT,如何使 JWT 过期
- python - 如何从python字典中的键中删除一个值,其中值存储在列表中
- c# - 如何获取从数据库返回的准确日期格式查询
- python - 如何总结列表中的值?
- javascript - 使用给定 ID 的对象过滤嵌套数组
- java - java中treeset/CopyOnWriteArrayList的默认大小?
- reactjs - 是否可以防止 react-modal 在关闭时卸载?
- excel - VBA Internet Explorer 脚本仅在 50% 的时间内有效