設定 Proxy 伺服器轉送

本文旨在協助開發人員透過 Proxy 伺服器轉送所有伺服器端標記流量。

事前準備

設定 Proxy 伺服器轉送前,請務必先完成下列事項:

設定 Proxy 伺服器轉送

Cloud Run

如要將流量轉送至 Cloud Run 部署作業的 Proxy:

  1. 開啟 Cloud Run
  2. 選擇伺服器端標記 Cloud Run 執行個體。
  3. 按一下 「Edit & DEPLOY NEW REVISION]」(編輯及部署新修訂版本)。系統會開啟部署修訂版本畫面。
  4. 在「容器」下方,選擇您的伺服器容器。系統會開啟新的畫面,其中容器設定會隨即開啟。
  5. 如要展開服務設定,請選取「Variables & Secrets」(變數與密鑰) 分頁標籤。按一下 [Add Variable] (新增變數) 按鈕,並新增下列環境變數:

    1. Name (名稱):HTTP_PROXY
    2. 「Value」(值):Proxy 伺服器的 URI (例如 https://proxy.example.com:3333http://32.12.83.10)
  6. 點選「完成」

  7. 確認修訂版本,然後按一下「Deploy」(部署)

手動部署

如要將流量轉送至手動部署的 Proxy:

  1. 定義可供 Docker 映像檔存取的環境變數:

    1. Name (名稱):HTTP_PROXY
    2. 「Value」(值):Proxy 伺服器的 URI (例如 https://proxy.example.comhttp://32.12.83.10:1234)
  2. 使用新的環境變數執行 Docker 映像檔。

    docker run -p 8080:8080 \
    -e CONTAINER_CONFIG=CONTAINER_CONFIG \
    -e HTTP_PROXY=PROXY_URL \
    gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable
    

結果:伺服器端標記部署會將所有傳出流量傳送至您在環境變數中指定的 Proxy 端點。

驗證 Proxy 伺服器設定

如要確認 Proxy 要求設定,請檢查 Google 代碼管理工具和 Proxy 伺服器設定。

如何驗證伺服器容器 Proxy 要求:

  1. 開啟 Google 代碼管理工具

  2. 開啟伺服器容器。

  3. 開啟「預覽」模式。在「要求」分頁中:

    1. 確保用戶端認領傳入的要求。
    2. 確認您的代碼和變數能成功傳送傳出 HTTP 要求。
    3. 如要檢查要求是否已透過 Proxy 伺服器傳送,請按一下 HTTP 要求來查看 HTTP 要求詳細資料

驗證 Proxy 設定的方法如下:

  1. 檢查網路和 Proxy 伺服器記錄。您至少應該會看到傳送至下列端點的成功要求:
  2. 檢查其他端點是否有要求。
  3. 視您使用的伺服器端標記功能而定,您可能也會看到向其他端點發出的要求,例如 www.google-analytics.combigquery.googleapis.com 或第三方端點。將標記設定所需的任何其他端點加入許可清單。

選用:將來自 Proxy 伺服器的傳出流量加入許可清單

如果您封鎖了來自網路或 Proxy 伺服器的傳出流量,就必須將 Google 代碼管理工具網域加入許可清單,標記伺服器執行個體才能正常運作。將傳出流量加入許可清單的方式取決於您的網路環境和 Proxy 軟體。開始將端點加入許可清單之前,請務必瞭解您的網路拓撲。

下列網域可用於擷取、預覽您的 Google 代碼管理工具容器,並進行偵錯

  • https://www.googletagmanager.com
  • https://tagmanager.google.com
  • ${Preview server URL}

如果預覽伺服器所在的網路與 Proxy 伺服器不同,或是設有限制的網路規則,請將來自 Proxy 的傳出流量加入許可清單。系統會在部署伺服器容器時定義預覽伺服器網址。

選用:透過 Proxy 伺服器使用基本驗證

如果貴機構需要驗證,您可以在所有伺服器類型上使用 BASIC 驗證。

如要使用 BASIC 驗證,請在 Proxy 伺服器網址中加入憑證 (使用者名稱/密碼),格式如下:

HTTP_PROXY=http(s)://USER_NAME:PASSWORD@PROXY_URL

每次傳送至 Proxy 的要求,都會將 Proxy-Authorization 標頭中的使用者名稱和密碼設為 Base64 值。

如果您使用 Cloud Run,請將 Proxy 端點憑證儲存在 Secret Manager 中。Secret Manager 會在啟動時授權 Cloud Run 存取密鑰,並解析值。瞭解如何在 Cloud Run 中設定密鑰

選用:停用特定主機的 Proxy

NO_PROXY 環境變數可讓您定義無法透過 Proxy 伺服器傳送的主機名稱清單 (以半形逗號分隔)。

例如:NO_PROXY=example.com,169.254.169.254,diagnostics.example2.com:3131

sGTM 容器不會代理下列任何要求:

  • http://example.comhttps://sub.example.comhttps://other.example.com:123
  • http://169.254.169.254https://169.254.169.254http://169.254.169.254:123
  • http://diagonstics.example2.com:3131https://diagonstics.example2.com:3131
為 Google 的中繼資料伺服器定義例外狀況