成功部署后无法从外部访问云 运行 服务
Unable to reach cloud run services externally after successful deployment
这是我第一次在我的 GCP 项目上使用云 运行 - 完全托管。我已使用 Cloud Build 成功地将我的服务部署到 Cloud 运行。我设置了一个 cloudbuild.yaml 文件,该文件从存储库构建我的容器,推送到 Container Registry,然后部署到云 运行。
构建成功执行,我可以在云 运行 仪表板中看到我的服务 运行ning。但是,当我调用提供的 URL 它 returns 没有响应。
- 浏览器说 "server IP address could not be found."
- 邮差 returns "Error: getaddrinfo ENOTFOUND" 状态码 443.
- Ping 提供的 URL returns "Unknown Host"
- 本地容器 运行 并按预期工作
为确保问题不是出自我的代码或容器,我部署了此演示服务 laravel6-on-google-cloud-run 但我得到了相同的结果。
我注意到当我从云 Shell 卷曲服务端点时(从 google 的内部网络发出请求)。它按预期工作。所以也许这是防火墙的事情。我的 VPC 防火墙设置是否也会影响 Cloud 运行 服务?
我将服务配置为允许未经身份验证的访问。连接设置为外部。
更新:
我注意到这些服务可以在其他设备上运行,但不能在我的笔记本电脑上运行。我还不确定为什么,但可以肯定地说这是本地问题而不是云 运行 问题。
事实证明,云 运行 个实例 url 在 .app 域上。
我之前安装了一个已注册为在本地使用 .app 域的应用程序。因此,使用该域对 url 的调用在本地得到了解决。
要确认您遇到此问题,请在您的云上执行 nslookup 运行 url。
$ nslookup <cloudrun-service-url>.com
如果此问题得到解决,那么您可能遇到了这个问题。从“/etc/resolver/”中删除此条目应该有助于解决此问题
这是我第一次在我的 GCP 项目上使用云 运行 - 完全托管。我已使用 Cloud Build 成功地将我的服务部署到 Cloud 运行。我设置了一个 cloudbuild.yaml 文件,该文件从存储库构建我的容器,推送到 Container Registry,然后部署到云 运行。
构建成功执行,我可以在云 运行 仪表板中看到我的服务 运行ning。但是,当我调用提供的 URL 它 returns 没有响应。
- 浏览器说 "server IP address could not be found."
- 邮差 returns "Error: getaddrinfo ENOTFOUND" 状态码 443.
- Ping 提供的 URL returns "Unknown Host"
- 本地容器 运行 并按预期工作
为确保问题不是出自我的代码或容器,我部署了此演示服务 laravel6-on-google-cloud-run 但我得到了相同的结果。
我注意到当我从云 Shell 卷曲服务端点时(从 google 的内部网络发出请求)。它按预期工作。所以也许这是防火墙的事情。我的 VPC 防火墙设置是否也会影响 Cloud 运行 服务?
我将服务配置为允许未经身份验证的访问。连接设置为外部。
更新:
我注意到这些服务可以在其他设备上运行,但不能在我的笔记本电脑上运行。我还不确定为什么,但可以肯定地说这是本地问题而不是云 运行 问题。
事实证明,云 运行 个实例 url 在 .app 域上。
我之前安装了一个已注册为在本地使用 .app 域的应用程序。因此,使用该域对 url 的调用在本地得到了解决。
要确认您遇到此问题,请在您的云上执行 nslookup 运行 url。
$ nslookup <cloudrun-service-url>.com
如果此问题得到解决,那么您可能遇到了这个问题。从“/etc/resolver/”中删除此条目应该有助于解决此问题