Proxy de Flowsery Analytics con Caddy
Enruta Flowsery Analytics a través de Caddy para evitar la interferencia de los adblockers y capturar datos de visitantes más precisos. La configuración sencilla de Caddy hace que este montaje sea especialmente fácil.
1. Configuración principal de Caddy
Agrega las siguientes directivas a tu 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...
}Nota: Si tu servidor ya usa la ruta /api/track, agrega data-api a la etiqueta del script de Flowsery Analytics para dirigir los eventos a otra ruta. Por ejemplo, data-api="/flowsery-events" enviará los datos a /flowsery-events.
Importante: Si todos los visitantes aparecen en la misma ubicación en tu panel, confirma que x-flowsery-real-ip se esté estableciendo con la IP real del visitante, no con la del servidor proxy, al reenviar solicitudes al endpoint /events de Flowsery Analytics.
2. Opcional: habilitar caché
Para obtener mejor rendimiento, puedes agregar una capa de caché:
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. Modifica la etiqueta del script
Reemplaza el snippet original de Flowsery Analytics por la versión con proxy:
<script defer data-fl-website-id="flid_******" src="/js/main.js"></script># Validate the configuration
caddy validate
# If validation passes, reload Caddy
caddy reloadConfirmar que funciona
Para validar que el proxy funciona correctamente:
- Navega a tu sitio web.
- Abre las herramientas de desarrollo del navegador y ve a la pestaña Network.
- Verifica que las solicitudes de analítica se sirvan desde tu dominio y no desde
analytics.flowsery.com.
Caddy gestiona automáticamente los certificados HTTPS y HTTP/2, lo que lo convierte en una opción sólida para proxificar analítica. Asegúrate de que tu servidor Caddy tenga suficiente espacio en disco si habilitas la caché.
Solución de problemas
Todos los visitantes aparecen desde la misma ubicación
Cuando todos los visitantes muestran una única ubicación geográfica, normalmente la región de tu servidor, el proxy no está reenviando correctamente las IP reales.
Resolución:
- Asegúrate de que tu proxy establezca
x-flowsery-real-ipcon la IP real del visitante, no con la IP del servidor, al reenviar solicitudes al endpoint/eventsde Flowsery Analytics. - Si Caddy está detrás de Cloudflare u otro edge,
{remote_host}será la IP de ese proxy ascendente, no la del visitante. Usa{http.request.header.Cf-Connecting-Ip}para Cloudflare o{http.request.header.X-Real-Ip}para un caso genérico.