Proxy Flowsery Analytics avec Caddy
Faites transiter Flowsery Analytics via Caddy afin d'eviter les interferences des bloqueurs de publicites et de capturer des donnees visiteurs plus precises. La configuration tres directe de Caddy rend cette mise en place particulierement simple.
1. Configuration Caddy de base
Ajoutez les directives suivantes a votre Caddyfile :
your_domain.com {
# Proxy the analytics script
handle /js/main.js {
reverse_proxy https://analytics.flowsery.com {
header_up Host {upstream_hostport}
header_up X-Real-IP {remote_host}
header_up X-Forwarded-For {remote_host}
header_up X-Forwarded-Proto {scheme}
}
# Cache the script for 1 year
header Cache-Control "public, max-age=31536000"
header Expires "1y"
}
# Proxy the event collection endpoint + forward real visitor IP
handle /api/track {
reverse_proxy https://analytics.flowsery.com {
header_up Host {upstream_hostport}
# CRITICAL: Flowsery reads this header as the real visitor IP.
# Without it, every visitor resolves to your server's region.
# Replace {remote_host} with {http.request.header.Cf-Connecting-Ip}
# if Caddy sits behind Cloudflare.
header_up x-flowsery-real-ip {remote_host}
header_up X-Real-IP {remote_host}
header_up X-Forwarded-For {remote_host}
header_up X-Forwarded-Proto {scheme}
}
}
# Your other site directives...
}Remarque : si votre serveur utilise deja un chemin /api/track, ajoutez data-api a la balise script Flowsery Analytics pour envoyer les evenements ailleurs. Par exemple, data-api="/flowsery-events" envoie les donnees vers /flowsery-events.
Important : si tous les visiteurs apparaissent au meme endroit dans votre tableau de bord, verifiez que x-flowsery-real-ip est bien defini sur la vraie IP du visiteur (et non celle du serveur proxy) lors du transfert des requetes vers le endpoint /events de Flowsery Analytics.
2. Optionnel : activer le cache
Pour de meilleures performances, vous pouvez ajouter une couche de cache :
your_domain.com {
# Cache settings
cache {
path /var/cache/caddy
ttl 1y
capacity 10GB
}
handle /js/main.js {
cache
reverse_proxy https://analytics.flowsery.com {
header_up Host {upstream_hostport}
header_up X-Real-IP {remote_host}
header_up X-Forwarded-For {remote_host}
header_up X-Forwarded-Proto {scheme}
}
header Cache-Control "public, max-age=31536000"
header Expires "1y"
}
# ... remainder of the configuration
}3. Modifier la balise script
Remplacez le snippet Flowsery Analytics par la version proxifiee :
<script defer data-fl-website-id="flid_******" src="/js/main.js"></script># Validate the configuration
caddy validate
# If validation passes, reload Caddy
caddy reloadVerifier que cela fonctionne
Pour valider le bon fonctionnement du proxy :
- Ouvrez votre site web
- Ouvrez les outils de developpement de votre navigateur et passez a l'onglet Reseau
- Verifiez que les requetes analytics sont servies depuis votre domaine plutot que depuis analytics.flowsery.com
Caddy gere automatiquement les certificats HTTPS et HTTP/2, ce qui en fait un tres bon choix pour proxifier l'analytics. Verifiez aussi que votre serveur Caddy dispose d'un espace disque suffisant si vous activez le cache.
Depannage
Tous les visiteurs apparaissent au meme endroit
Lorsque tous les visiteurs affichent une seule localisation geographique (generalement la region de votre serveur), le proxy ne transmet pas correctement les vraies IP des visiteurs.
Resolution :
- Assurez-vous que votre proxy definit
x-flowsery-real-ipsur la vraie IP du visiteur (et non l'IP du serveur) lors du transfert des requetes vers le endpoint/eventsde Flowsery Analytics. - Si Caddy est derriere Cloudflare ou un autre edge,
{remote_host}sera l'IP du proxy amont, pas celle du visiteur. Utilisez{http.request.header.Cf-Connecting-Ip}(Cloudflare) ou{http.request.header.X-Real-Ip}(generique) a la place.