设置专用预览服务器

本指南适用于使用 Cloud Run 进行服务器端代码植入并希望设置专用预览服务器的开发者。

借助服务器端代码植入,您可以先在预览和调试模式下预览对代码做出的更改,然后再应用它们。这是开发工作流中非常重要的一环,可确保代码按预期运行。若要启用此功能,需要分别为代码植入服务器和预览服务器部署 Cloud Run。本指南详细介绍了这两个服务器如何通信,以及如何在企业环境中对其进行配置。

概述

在 Cloud Run 中部署服务器端代码植入时,使用或不使用负载均衡器均可。对于多区域部署,您需要使用负载均衡器将流量定向到最近的实例。

不使用负载均衡器

不使用负载均衡器

图 1:不使用负载均衡器的部署。

使用负载均衡器

使用负载均衡器

图 2:使用负载均衡器的部署。

在这两种部署中,预览服务器和生产代码植入环境的入口点都是相同的网址(例如,sgtm.example.com)。代码植入服务器在部署时会使用一个名为 PREVIEW_SERVER_URL 的环境变量,该变量代表预览服务器的网址。

当您访问 tagmanager.google.com 并打开预览模式时,跟踪代码管理器会前往 sgtm.example.com?id=[gtm_server_id]&gtm_auth=[auth_id]&gtm_preview=[env_id] 并设置 Cookie。然后,当您使用同一浏览器浏览目标网站时,发送到 sgtm.example.com 的请求也会转发该 Cookie。由于使用了 Cookie,代码植入服务器就知道这些是您的事件,因此它只会将您的事件转发到预览服务器,供您查看和进行问题排查。

代码植入服务器通过向 PREVIEW_SERVER_URL 环境变量中设置的网址发送 HTTP 请求来转发这些事件。

关于面向公众的预览服务器

这种默认行为要求预览服务器为公开状态。然而,这对某些组织来说较为麻烦,因为他们会限制哪些基础架构可以面向公众,并且通常会通过负载均衡器实施额外的安全措施。借助负载均衡器,您可以:

  • 更好地控制 SSL 政策(用于限制加密套件)等功能。
  • 实现与 Cloud Armor 的原生集成,以实现 Web 应用防火墙 (WAF) 或防御分布式拒绝服务攻击 (DDoS 攻击)。
  • 利用高级流量管理功能。

通过负载均衡器向预览服务器发送流量

若要创建专用预览服务器,可通过带有额外子网域的负载均衡器使用根据主机发送流量的方法。本指南的其余部分介绍了如何通过负载均衡器向预览服务器发送流量。

前提条件

  • 代码植入服务器部署在负载均衡器后面的 Cloud Run 上。
  • 可访问 Google Cloud 项目。
  • 可访问预览服务器的新子网域,例如 preview.sgtm.example.com

第 1 步:将环境变量更新为新的子网域

若要使用新的预览服务器网域,请按以下操作更新服务器端代码植入服务器的环境变量 PREVIEW_SERVER_URL

  1. 打开 Cloud Run
  2. 选择代码植入服务器。
  3. 点击修改部署新的修订版本
  4. 变量和密钥标签页中的容器部分,将 PREVIEW_SERVER_URL 更改为新网域。例如:preview.sgtm.example.com

第 2 步:配置现有负载均衡器,以使用根据主机发送流量的方法

若要配置现有负载均衡器,使用根据主机发送流量的方法,并将流量发送到正确的服务器,请执行以下操作:

  1. 在 Cloud Run 中,打开负载均衡页面并点击负载均衡器的名称。
  2. 点击修改按钮。
  3. 点击后端配置页面,打开后端服务和后端存储桶下拉列表。
  4. 点击创建后端服务并完成以下操作:
    1. 为其指定合适的名称(例如,preview-backend-service)。
    2. 选择后端类型无服务器网络端点组
  5. 后端部分,创建新的无服务器网络端点组,并完成以下操作:
    1. 为其命名,并选择托管预览服务器的区域。
    2. 选择 Cloud Run 作为无服务器网络端点组类型,选择预览服务器作为服务。
    3. 点击创建
  6. 根据需要更改其他设置,或保留默认设置,然后点击创建

第 3 步:添加新规则并更新入站流量控制

若要针对新主机网址添加规则,并更新入站流量控制,请执行以下操作:

  1. 打开主机和路径规则页面。
  2. 添加一条新规则,其中:
    • 主机为新网址:preview.sgtm.example.com
    • 路径为:/*
    • 后端为:preview-backend-service
  3. 点击更新按钮,重新部署负载均衡器。
  4. 返回 Cloud Run,打开预览服务器,然后选择网络标签页。
  5. 入站流量控制更改为内部,并勾选允许来自外部应用负载均衡器的流量,使其无法公开访问。

结果:您的服务器架构现在应该如图 3 所示,其中流量请求全都定向到代码植入服务器,并且代码植入服务器能够将请求转发到预览服务器。

根据主机发送流量

图 3:使用根据主机发送流量的方法。

检查您的配置

若要检查您的配置,请执行以下操作:

  1. 打开 Google 跟踪代码管理器
  2. 打开您的服务器容器。
  3. 依次点击管理 > 容器设置,然后将服务器容器的网址设置为预览服务器的网址。
  4. 关闭窗口并预览工作区。调试窗口会打开。当您浏览网站时,调试窗口中应显示事件。