Unterstützung/Proxy-Anleitungen
Proxy-Anleitungen

Flowsery Analytics mit Caddy proxyen

Leiten Sie Flowsery Analytics über Caddy weiter, um Störungen durch Adblocker zu vermeiden und genauere Besucherdaten zu erfassen. Dank der unkomplizierten Konfiguration von Caddy lässt sich das besonders einfach einrichten.

1. Caddy-Basiskonfiguration

Fügen Sie Ihrem Caddyfile die folgenden Direktiven hinzu:

Text
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...
}

Hinweis: Wenn Ihr Server bereits einen Pfad /api/track nutzt, fügen Sie dem Flowsery-Analytics-Skript data-api hinzu, um Events an einen anderen Pfad zu senden. Zum Beispiel leitet data-api="/flowsery-events" Daten an /flowsery-events weiter.

Wichtig: Wenn im Dashboard jeder Besucher aus demselben Ort zu kommen scheint, prüfen Sie, ob x-flowsery-real-ip beim Weiterleiten an den Flowsery-Analytics-Endpunkt /events wirklich auf die echte Besucher-IP gesetzt wird und nicht auf die IP des Proxy-Servers.

2. Optional: Caching aktivieren

Für eine bessere Performance können Sie eine Caching-Schicht ergänzen:

Text
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. Skript-Tag anpassen

Ersetzen Sie das ursprüngliche Flowsery-Analytics-Snippet durch die geproxyte Variante:

HTML
<script defer data-fl-website-id="flid_******" src="/js/main.js"></script>
Terminal
# Validate the configuration
caddy validate
 
# If validation passes, reload Caddy
caddy reload

Prüfen, ob es funktioniert

So validieren Sie das Proxy-Setup:

  1. Rufen Sie Ihre Website auf.
  2. Öffnen Sie die Entwicklerwerkzeuge Ihres Browsers und wechseln Sie zum Tab "Network".
  3. Prüfen Sie, ob Analytics-Requests über Ihre Domain statt über analytics.flowsery.com ausgeliefert werden.

Caddy verwaltet HTTPS-Zertifikate und HTTP/2 automatisch, was ihn zu einer starken Wahl für Analytics-Proxys macht. Wenn Sie das Cache-Setup aktivieren, stellen Sie sicher, dass auf dem Server genügend Speicherplatz vorhanden ist.

Fehlerbehebung

Jeder Besucher scheint aus demselben Ort zu kommen

Wenn alle Besucher aus einer einzigen geografischen Region erscheinen (typischerweise aus der Region Ihres Servers), leitet der Proxy die echte Besucher-IP nicht korrekt weiter.

Lösung:

  1. Stellen Sie sicher, dass Ihr Proxy x-flowsery-real-ip beim Weiterleiten an den Flowsery-Analytics-Endpunkt /events auf die tatsächliche Besucher-IP setzt und nicht auf die Server-IP.
  2. Wenn Caddy hinter Cloudflare oder einer anderen Edge läuft, ist {remote_host} die IP dieses Upstream-Proxys und nicht die des Besuchers. Verwenden Sie stattdessen {http.request.header.Cf-Connecting-Ip} (Cloudflare) oder {http.request.header.X-Real-Ip} (generisch).