使用 HTTPS 请求调用

您可以从任何能够发出 HTTPS 请求的服务发送 HTTPS 请求,以触发 Cloud Run 托管的服务。请注意,所有 Cloud Run 服务都有稳定的 HTTPS 网址。

部分用例包括:

  • 自定义 RESTful Web API
  • 专用微服务
  • 适用于您的 Web 应用的 HTTP 中间件或反向代理
  • 预封装的 Web 应用

创建公共服务

在 Cloud Run 上创建公共服务需要:

  • 通过公共互联网访问服务
  • 供公众使用的网址

如需将服务设为公开,请在部署时或部署之后的任何时间将您的服务设置为允许未经身份验证的(公开)访问。

您可以将首次部署服务时提供的稳定的自动分配网址用作全代管式 Cloud Run 上的公开网址。如需确定已部署服务的网址,请运行以下命令:

gcloud run services describe SERVICE --format 'value(status.url)'

您还可以使用自己的自定义网域来映射到该服务。 对于全托管式 Cloud Run,这会自动提供托管的 SSL 证书。

Cloud Run(全托管式)将所有 HTTP 请求重定向到 HTTPS,但会在 TLS 进入您的 Web 服务之前终止它。如果您的服务生成的 Web 资源引用了包含不安全网址 (http://) 的其他 Web 资源,则您的网页可能会出现混合的内容警告或错误。 对所有引用 Web URI 使用 https 协议或考虑 HTTP 请求中的代理指令,例如 X-Forwarded-Proto HTTP 标头。

创建专用服务

如需在 Cloud Run 上创建专用服务,您需要限制对该服务的访问。

对于代管式 Cloud Run,您可以按照使用 IAM 管理访问权限中的说明,使用 IAM 限制对服务的访问权限。

开发者测试专用服务的最简单方法是使用 curl 之类的工具,并在 Authorization 标头中传递一个身份验证令牌:

curl -H "Authorization: Bearer $(gcloud auth print-identity-token)" SERVICE_URL

请注意,Cloud Run 服务可以使用服务到服务身份验证来调用其他受托管的 Cloud Run 服务。

对于 Cloud Run for Anthos on Google Cloud,您可以使用内部连接设置来阻止外部请求路由到您的服务。

除了上述限制访问权限的方法之外,您还可以使用应用级授权和身份验证机制(例如使用 Identity Platform)限制对服务的访问。有关使用 Cloud Run for Anthos on Google Cloud 执行此操作的教程,请参阅使用 Istio 和 Identity Platform 对 Cloud Run on GKE 最终用户进行身份验证

使用中间件增强您的服务

HTTPS 代理可以分流 HTTP 服务中的常见功能,例如缓存、请求验证或授权。对于微服务,许多 HTTP 代理都是 API Gateway 解决方案或 Istio 等服务网格的一部分。

可用于增强 Cloud Run 服务的 Google Cloud 产品包括: