sGTM 的 /gtm/debug 模式抛出 400 错误请求

问题描述 投票:0回答:2

我开始从 GTM 迁移到 GTM 服务器。我已经使用 Loadbalancer 在 Google Cloud Run 中为我们的测试环境设置了所有内容,一切正常。

现在我已经为我们的生产系统设置了所有内容,但 GTM 调试模式不起作用并抛出错误 400 错误请求 - 我使用与测试环境中相同的设置和配置:

https://sst.myserver.com/healthz中的状态也表示正常。

在网上搜索了一些错误,有人说如果服务器抛出400,则客户端丢失。但我也将 GA4 与它连接,并且数据将传入 GA4。只有调试模式在 /gtm/debug/... 下不起作用

有什么想法吗?

google-tag-manager google-cloud-run google-tag-manager-server-side
2个回答
1
投票

终于找到问题了。预览服务器未作为预览服务器正确运行。在 Cloud Run 中,环境变量名称“RUN_AS_PREVIEW_SERVER”有一个空格,这导致预览服务器作为常规服务器启动。并且常规服务器不允许正确处理 /gtm/debug 请求。


0
投票

对于其他读者,

snowplow/snowplow-gtm-server-side-client
第39期说明了您不需要额外空格的配置(!)

我已经按照“在 AWS 上使用 Google 标签管理器进行服务器端网站分析的指南”设置了 GTM 服务器端

现在我有两个链接可以访问我的 GTM 服务器:

主服务器端容器 (analytics.example.com)

预览服务器容器 (preview-analytics.example.com)

我在 GTM 的 aws_ecs_task_definition 设置中使用这些参数:

预览容器:

  container_definitions    = <<TASK_DEFINITION
  [
  {
    "name": "preview",
    "image": "gcr.io/cloud-tagging-10302018/gtm-cloud-image",
    "environment": [
      {
        "name": "PORT",
        "value": "80"
      },
      {
        "name": "RUN_AS_PREVIEW_SERVER",
        "value": "true"
      },
      {
        "name": "CONTAINER_CONFIG",
        "value": "${var.CONTAINER_CONFIG}"
      }
    ],

主要容器:

{
    "name": "primary",
    "image": "gcr.io/cloud-tagging-10302018/gtm-cloud-image",
    "environment": [
      {
        "name": "PORT",
        "value": "80"
      },
      {
        "name": "PREVIEW_SERVER_URL",
        "value": "${var.PREVIEW_SERVER_URL}"
      },
      {
        "name": "CONTAINER_CONFIG",
        "value": "${var.CONTAINER_CONFIG}"
      }
    ]

任何额外的空格,“

RUN_AS_PREVIEW_SERVER
”名称都没有任何价值。

© www.soinside.com 2019 - 2024. All rights reserved.