# WAF Proxy (CloudFlare,...)

Configurer un reverse proxy DNS sur un WAF comme CloudFlare est un moyen simple et fiable à des fins de tracking en utilisant des cookies 1st party.

Contactez votre chargé de compte pour plus de détails.

## Configuration

### Créez votre WAF

1\. Dans Cloudflare (ou votre WAF), déclarez le domaine de tracking à utiliser et pointez-le vers notre infra (par ex. waf.myshop.com) et vers l'endpoint que nous avons défini pour le proxy :

**`ca-trk-proxy.commander1.com`**

<figure><img src="/files/c783ea3d0d47485397fbd122b951f16a987999d5" alt=""><figcaption><p>Configurer un reverse proxy vers Commanders Act sur CloudFlare</p></figcaption></figure>

2\. Côté DNS, pointez votre domaine de tracking (ex. waf.myshop.com) vers Cloudflare (le CNAME est fourni par cloudflare).

<figure><img src="/files/a7c74f255f6b4e15e352afe5e38d2a71d98459cd" alt=""><figcaption><p>Créer une entrée CNAME sur CloudFlare</p></figcaption></figure>

### Déclarez-le dans Domain Management

1. Déclarez le domaine\
   Utilisez notre interface Domain Management pour déclarer ce domaine et ajuster la manière dont Commanders Act collecte les données\
   `Administration > Domain Management`

<figure><img src="/files/4e9a3053c4ef086ade639718242ae1b71a65b1ba" alt=""><figcaption></figcaption></figure>

2. Activer le domaine\
   Activer l'option "Containers Integration" permettra d'inclure le domaine dans la configuration du container.

   Tous les tags Commanders Act passeront à une collecte first party.

   Cette action aura un impact sur Consent, Deduplication, Campaign, segment, Server Side

<figure><img src="/files/5d4f29b30cc005c4b2367b8e3a6c8a2f0f734f5a" alt=""><figcaption></figcaption></figure>

**Que se passe-t-il lorsque j'ai 2 domaines ou plus ?**

Le domaine du site web où le container est chargé est prioritaire. Si aucun domaine ne correspond au domaine du site web, le 1er de la liste est utilisé.

{% hint style="warning" %}
À ce stade, **WebContainers et Privacy banners** doivent être **regénérés et déployés.**
{% endhint %}

3. Le cas échéant, ajustez votre tracking existant pour refléter votre nouveau domaine de tracking.\
   \
   Par exemple, sur un hit de tracking View Campaign :\
   [https://](https://waf.commandersact.com/mix/v3/?firsttime=1\&tcs=5039\&chn=referrer\&src=referrer_3\&user_id=96177\&TCID=96177\&cmp=Promotionnal+game\&cty=Italy)[waf.myshop.com](https://waf.commandersact.com/mix/v3/?firsttime=1\&tcs=5039\&chn=referrer\&src=referrer_3\&user_id=96177\&TCID=96177\&cmp=Promotionnal+game\&cty=Italy)[/mix/v3/?firsttime=1\&tcs=5039\&chn=ref](https://waf.commandersact.com/mix/v3/?firsttime=1\&tcs=5039\&chn=referrer\&src=referrer_3\&user_id=96177\&TCID=96177\&cmp=Promotionnal+game\&cty=Italy)[errer\&src=referrer\_3\&user\_id=96177\&TCID=96177\&cmp=Promotion](https://waf.commandersact.com/mix/v3/?firsttime=1\&tcs=5039\&chn=referrer\&src=referrer_3\&user_id=96177\&TCID=96177\&cmp=Promotionnal+game\&cty=Italy)[nal+game\&cty=Italy](https://waf.commandersact.com/mix/v3/?firsttime=1\&tcs=5039\&chn=referrer\&src=referrer_3\&user_id=96177\&TCID=96177\&cmp=Promotionnal+game\&cty=Italy)

## Dépannage

`Host` doit être identifié comme [waf.commandersact.com](http://waf.commandersact.com/) ce qui est attendu.

Si le `host` est identifié comme [ca-trk-proxy.commander1.com](http://ca-trk-proxy.commander1.com/) ce qui n'est pas attendu. Cela signifie probablement que le proxy définit le `host` paramètre dans l'en-tête sur le domaine de [commander1.com](http://commander1.com/) au lieu de conserver le domaine d'origine.

#### Configuration attendue du proxy

Voici la configuration attendue du proxy :

Haproxy :

```
listen tcp-443
  bind *:443
  mode tcp

  option log-health-checks
  option tcp-check

  server ca-trk-proxy ca-trk-proxy.commander1.com:443 resolvers dns check inter 30s check-sni ca-trk-proxy.commander1.com sni ssl_fc_sni check-ssl verify none
```

1. **server ca-trk-proxy**:
   * `server` est le mot-clé indiquant la définition d'un serveur dans une section backend.
   * `ca-trk-proxy` est le nom attribué à ce serveur. Il est utilisé pour identifier le serveur dans les logs et les statistiques.
2. [**ca-trk-proxy.commander1.com:443**](http://ca-trk-proxy.commander1.com:443/):
   * Cela spécifie l'adresse et le port du serveur. Ici, le serveur se trouve à `ca-trk-proxy.commander1.com` et écoute sur le port `443` (qui est généralement utilisé pour HTTPS).
3. **resolvers dns**:
   * `resolvers` spécifie la section de résolveur DNS à utiliser pour résoudre le nom d'hôte du serveur.
   * `dns` fait référence à une section de résolveur définie précédemment dans la configuration qui contient les détails du serveur DNS.
4. **check**:
   * Cela active les contrôles de santé pour le serveur. HAProxy vérifiera périodiquement si le serveur est opérationnel.
5. **inter 30s**:
   * Cela définit l'intervalle entre les contrôles de santé à 30 secondes.
6. **check-sni** [**ca-trk-proxy.commander1.com**](http://ca-trk-proxy.commander1.com/):
   * `check-sni` spécifie le Server Name Indication (SNI) à utiliser pendant le contrôle de santé. SNI est une extension du protocole TLS qui permet au client de spécifier le nom d'hôte auquel il essaie de se connecter au début du processus de handshake.
   * `ca-trk-proxy.commander1.com` est le nom d'hôte utilisé pour le SNI pendant le contrôle de santé.
7. **sni ssl\_fc\_sni**:
   * `sni` spécifie le SNI à utiliser lors de l'établissement des connexions au serveur.
   * `ssl_fc_sni` est un mot-clé dynamique qui utilise la valeur SNI de la connexion frontend pour cette connexion backend.
8. **check-ssl**:
   * Cela active les vérifications SSL pendant les contrôles de santé, garantissant que la couche SSL/TLS est correctement établie et validée.
9. **verify none**:
   * Cette option désactive la vérification du certificat SSL du serveur pendant les contrôles de santé. Cela signifie que HAProxy ne validera pas le certificat auprès d'une autorité de certification (CA).

En résumé, cette ligne de configuration définit un serveur backend nommé `ca-trk-proxy` situé à `ca-trk-proxy.commander1.com:443`. Il utilise le `dns` résolveur pour la résolution DNS, effectue des contrôles de santé toutes les 30 secondes, utilise SNI pendant les contrôles et ne vérifie pas le certificat SSL du serveur pendant les contrôles de santé.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://doc.commandersact.com/fr/configure/administration/domain-management/waf-proxy-cloudflare.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
