Proxy de collecte User-friendly

 

Principe

AT Internet propose l’accompagnement de la mise en place d’un serveur proxy afin de collecter les données sur un domaine propre à votre société. Par exemple, les visiteurs du site example.com pourraient envoyer les informations collectées sur stats.example.com, au lieu de les envoyer sur log.xiti.com.

Afin de mettre en place ce mécanisme, il vous suffit de configurer un proxy, qui redirige les requêtes vers le serveur de collecte spécifique à votre site. Afin d’assurer une configuration optimale, veuillez noter ces différents points :

  • La création du cookie « idrxvr » doit être propagée jusqu’à l’internaute en modifiant le domaine
  • Le cookie « idrxvr » doit être transmis jusqu’aux serveurs AT Internet
  • L’adresse IP source du client doit être inscrite dans le header X-Forwarded-For
  • L’ensemble des headers de la requête initiale doivent être transmis, notamment User-Agent, Accept-Language, Referer.

Afin d’être conforme avec le RGPD, il est recommandé de ne stocker aucune donnée sur le serveur proxy (logs par exemple).

 

Architecture

Voici un schéma de l’architecture :

Sans proxy « user-friendly »

 

Avec proxy « user-friendly »

 

Marquage

D’un point de vue du marquage, il sera nécessaire de modifier la configuration de votre SmartTag, afin d’y renseigner les valeurs correctes.
Exemple en JS (documentation) :

var tag = new ATInternet.Tracker.Tag({log: 'stats', logSSL: 'stats', domain: 'example.com'});
 

Modification du pixelPath

Il est également possible, en supplément, de changer le nom de la ressource chargée (par défaut, hit.xiti).

var tag = new ATInternet.Tracker.Tag({log: 'stats', logSSL: 'stats', domain: 'example.com', pixelPath: '/customhitpage'});

La configuration proxy correspondante est indiquée dans l’exemple de configuration ci-dessous.

 

Exemple de configuration

Cette configuration n’est qu’à titre d’exemple. Il sera nécessaire de l’adapter, notamment en matière de sécurité et de performance en fonction du trafic attendu.

Afin de vous aiguiller dans la mise en place de ce proxy, voici un exemple de configuration pour Nginx :

 

HTTP

server {

	listen 80;

	# Hide Nginx version
	server_tokens off;

	# Configure DNS resolver used by the server
	resolver A.B.C.D;

	# Append source IP address to the initial request's X-Forwarded-For 
	proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

	# Change cookie domain
	proxy_cookie_domain ~.* example.com;

	# Set AT Internet collection domain
	set $logati log.xiti.com;

	# Customize pixel path to /customhitpage
	location /customhitpage {
		proxy_pass http://$logati/hit.xiti$is_args$query_string;
		proxy_redirect /hit.xiti /customhitpage;
	}

	# No change for any other ressource
	location / {
		proxy_pass http://$logati$request_uri;
	}

}
 

HTTPS

server {

	listen 80;

	# Hide Nginx version
	server_tokens off;

	# Configure DNS resolver used by the server
	resolver A.B.C.D;

	# SSL
	ssl_certificate     /etc/nginx/ssl/cert.pem;
	ssl_certificate_key /etc/nginx/ssl/key.pem;
	ssl_protocols       TLSv1 TLSv1.1 TLSv1.2;
	ssl_ciphers         HIGH:!aNULL:!MD5;

	# Append source IP address to the initial request's X-Forwarded-For 
	proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

	# Change cookie domain
	proxy_cookie_domain ~.* example.com;

	# Set AT Internet collection domain
	set $logati log.xiti.com;

	# Customize pixel path to /customhitpage
	location /customhitpage {
		proxy_pass http://$logati/hit.xiti$is_args$query_string;
		proxy_redirect /hit.xiti /customhitpage;
	}

	# No change for any other ressource
	location / {
		proxy_pass http://$logati$request_uri;
	}

}
Cet article vous a-t-il été utile ?
Oui
Non
Dernière mise à jour : 25/01/2018