【发布时间】:2020-08-12 00:58:45
【问题描述】:
这是我第一次在我的 GCP 项目中使用完全托管的 Cloud Run。我已使用 Cloud Build 成功将我的服务部署到 Cloud Run。我设置了一个 cloudbuild.yaml 文件,该文件从 repo 构建我的容器,推送到 Container Registry,然后部署到云运行。
构建成功执行,我可以看到我的服务在云运行仪表板中运行。但是,当我调用提供的 URL 时,它不会返回任何响应。
- 浏览器提示“找不到服务器 IP 地址。”
- Postman 返回“错误:getaddrinfo ENOTFOUND”状态码 443。
- ping 提供的 URL 会返回“未知主机”
- 容器在本地运行并按预期工作
为了确保问题不是来自我的代码或容器,我部署了这个演示服务laravel6-on-google-cloud-run,但得到了相同的结果。
我注意到,当我从 Cloud Shell 卷曲服务端点时(从谷歌的内部网络中发出请求)。它按预期工作。所以也许这是一个防火墙的事情。我的 VPC 防火墙设置是否也会影响 Cloud Run 服务?
我将服务配置为允许未经身份验证的访问。连接设置为外部。
更新:
我注意到这些服务正在其他设备上运行,而不是我的笔记本电脑。我还不确定为什么,但可以肯定地说这是本地问题,而不是 Cloud Run 问题。
【问题讨论】:
-
您是否尝试过使用其他设备?喜欢你的手机吗? Cloud Run 日志中是否有特殊的错误日志?
-
@guillaumeblaquiere 你是对的!它在我的手机上工作。你知道为什么它可以在其他设备上运行,而不是我的笔记本电脑吗?
-
我不知道您的笔记本电脑有什么问题。您是否有拦截/更改 TCP 流量的软件代理或防火墙?
-
@guillaumeblaquiere 我不相信我有任何防火墙或代理设置,但我正在调查。至少我可以肯定地说,这绝对不是 Cloud Run 问题,感谢您为我指明了正确的方向。
-
您很可能遇到了 DNS 服务器问题。检查笔记本电脑的网络配置并确定配置了哪些 DNS 服务器。我通常将这些设置从我的 ISP 的 DNS 服务器更改为 Google 的 8.8.8.8 和 8.8.4.4 developers.google.com/speed/public-dns/docs/using
标签: google-cloud-platform google-cloud-run