成功部署后无法从外部访问云运行服务



这是我第一次使用Cloud Run-在我的GCP项目上完全管理。我已经使用Cloud Build成功地将我的服务部署到Cloud Run。我设置了一个cloudbuild.yaml文件,该文件从repo构建我的容器,推送到container Registry,并部署到云运行
构建成功执行,我可以在云运行面板中看到我的服务正在运行。但是,当我调用所提供的URL时,它不会返回任何响应

  • 浏览器显示"找不到服务器IP地址">
  • Postman返回"Error:getaddrinfo ENOTFOUND"状态代码443
  • Ping提供的URL返回"未知主机">
  • 容器在本地运行并按预期工作

为了确保问题不是来自我的代码或容器,我在谷歌云上部署了这个演示服务laravel6,但我得到了相同的结果

我注意到,当我从Cloud Shell卷曲服务端点时(从谷歌的内部网络中发出请求(。它按预期工作。所以也许这是防火墙的问题。我的VPC防火墙设置是否也会影响云运行服务
我已将服务配置为允许未经身份验证的访问。连接设置为外部连接。

更新:我注意到这些服务在其他设备上运行,只是我的笔记本电脑没有。我还不确定为什么,但可以肯定地说,这是一个本地问题,而不是云运行问题。

事实证明,云运行实例URL位于.app域上。

我之前安装了一个应用程序,该应用程序已注册为在本地使用.app域。因此,对该域的url的调用在本地得到了解决。

要确认您遇到了这个问题,请对您的云运行url执行nslookup。

$ nslookup <cloudrun-service-url>.com

如果这个问题解决了,那么您很可能会面临这个问题。从"/etc/resolver/"中删除此条目应有助于解决此问题

最新更新