Configurer le routage vers le serveur proxy

Ce document est destiné aux développeurs qui souhaitent acheminer tout le trafic de taggage côté serveur via un serveur proxy.

Avant de commencer

Avant de pouvoir configurer le routage du serveur proxy, assurez-vous d'avoir:

  • Un conteneur de serveur déployé sur Cloud Run ou via une configuration manuelle.

  • Un serveur proxy déployé compatible avec les requêtes HTTP CONNECT

  • La possibilité d'ajouter à la liste d'autorisation du trafic sortant spécifique provenant du serveur proxy, par exemple à l'aide d'un VPC, d'un pare-feu ou de listes de contrôle d'accès (LCA) proxy

Configurer le routage vers le serveur proxy

Cloud Run

Pour transférer le trafic vers un proxy pour les déploiements Cloud Run, procédez comme suit:

  1. Ouvrir Cloud Run
  2. Choisissez votre instance Cloud Run avec taggage côté serveur.
  3. Cliquez sur MODIFIER ET DÉPLOYER LA NOUVELLE RÉVISION. L'écran de déploiement de la révision s'affiche.
  4. Sous Conteneur(s), choisissez votre conteneur de serveur. Un nouvel écran avec le paramètre de conteneur s'ouvre.
  5. Pour développer la configuration du service, sélectionnez l'onglet Variables et secrets. Cliquez sur le bouton Ajouter une variable et ajoutez la variable d'environnement suivante:

    1. Nom : HTTP_PROXY
    2. Valeur: URI du serveur proxy (par exemple, https://proxy.example.com:3333 ou http://32.12.83.10).
  6. Cliquez sur OK.

  7. Confirmez vos révisions et cliquez sur Déployer.

Déploiement manuel

Pour transférer le trafic vers un proxy en vue de déploiements manuels, procédez comme suit:

  1. Définissez une variable d'environnement accessible à l'image Docker:

    1. Nom : HTTP_PROXY
    2. Valeur: URI du serveur proxy (par exemple, https://proxy.example.com ou http://32.12.83.10:1234).
  2. Exécutez votre image Docker avec la nouvelle variable d'environnement.

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

Résultat:Votre déploiement de taggage côté serveur envoie tout le trafic sortant vers le point de terminaison du proxy que vous avez spécifié dans la variable d'environnement.

Vérifier la configuration du serveur proxy

Pour vérifier la configuration de vos requêtes proxy, vérifiez à la fois la configuration de Google Tag Manager et de votre serveur proxy.

Pour vérifier les requêtes des proxys de votre conteneur de serveur:

  1. Ouvrir Google Tag Manager

  2. Ouvrez votre conteneur de serveur.

  3. Ouvrez le mode Aperçu. Dans l'onglet Requests (Demandes) :

    1. Assurez-vous que votre client revendique la requête entrante.
    2. Assurez-vous que vos balises et variables envoient correctement des requêtes HTTP sortantes.
    3. Pour vérifier si une requête a été envoyée via un serveur proxy, cliquez sur une requête HTTP afin d'afficher les détails de la requête HTTP.

Pour vérifier la configuration de votre proxy:

  1. Vérifiez les journaux de votre réseau et de votre serveur proxy. Au minimum, vous devriez voir les requêtes réussies vers les points de terminaison suivants :
  2. Vérifiez si des requêtes sont envoyées à d'autres points de terminaison.
  3. Selon les fonctionnalités de taggage côté serveur que vous utilisez, vous pouvez également voir les requêtes envoyées à d'autres points de terminaison, tels que www.google-analytics.com, bigquery.googleapis.com ou à des points de terminaison tiers. Ajoutez à la liste d'autorisation tous les autres points de terminaison nécessaires à la configuration de votre taggage.

Facultatif: Ajouter à la liste d'autorisation le trafic sortant provenant de votre serveur proxy

Si vous bloquez le trafic sortant de votre réseau ou de votre serveur proxy, vous devez autoriser les domaines Google Tag Manager pour que votre instance de serveur de taggage fonctionne. La manière dont vous ajoutez le trafic sortant à la liste d'autorisation dépend de votre environnement réseau et de votre logiciel proxy. Avant de commencer à ajouter des points de terminaison à la liste d'autorisation, assurez-vous de bien comprendre la topologie de votre réseau.

Les domaines suivants permettent d'extraire, de prévisualiser et de déboguer votre conteneur Google Tag Manager:

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

Si vous hébergez votre serveur d'aperçu sur un réseau différent de celui de votre serveur proxy ou si vous avez des règles de réseau restrictives, ajoutez à la liste d'autorisation le trafic sortant du proxy vers le serveur d'aperçu. L'URL du serveur de prévisualisation est définie lorsque vous déployez votre conteneur de serveur.

Facultatif: utiliser l'authentification BASIC avec votre serveur proxy

Si votre organisation nécessite une authentification, vous pouvez utiliser l'authentification de base avec tous les types de serveurs.

Pour utiliser l'authentification de base, incluez les identifiants (nom d'utilisateur/mot de passe) dans l'URL du serveur proxy au format suivant:

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

Chaque requête adressée au proxy définit le nom d'utilisateur et le mot de passe dans l'en-tête Proxy-Authorization en tant que valeurs Base64.

Si vous utilisez Cloud Run, stockez les identifiants du point de terminaison du proxy dans Secret Manager. Secret Manager autorise Cloud Run à accéder au secret au moment du démarrage et résout la valeur. Découvrez comment configurer des secrets dans Cloud Run.

Facultatif: désactiver le proxy pour des hôtes spécifiques

La variable d'environnement NO_PROXY vous permet de définir une liste de noms d'hôte, séparés par une virgule, qui ne peuvent pas être envoyés via le serveur proxy.

Prenons l'exemple suivant : NO_PROXY=example.com,169.254.169.254,diagnostics.example2.com:3131

Le conteneur sGTM n'envoie aucune des requêtes suivantes:

  • http://example.com, https://sub.example.com et https://other.example.com:123
  • http://169.254.169.254, https://169.254.169.254 et http://169.254.169.254:123
  • http://diagonstics.example2.com:3131, https://diagonstics.example2.com:3131
.