Unterstützung/Proxy-Anleitungen
Proxy-Anleitungen

Flowsery Analytics mit DigitalOcean proxyen

Leiten Sie Flowsery Analytics über DigitalOcean weiter, um Störungen durch Adblocker zu vermeiden und genauere Besucherdaten zu erfassen. Diese Anleitung deckt sowohl Setups auf der App Platform als auch auf Droplets ab.

Option 1: DigitalOcean App Platform

Wenn Sie mit Node.js auf der DigitalOcean App Platform laufen, folgen Sie der frameworkspezifischen Anleitung, die zu Ihrem Stack passt:

Die App Platform übernimmt die IP-Weiterleitung automatisch über den Header X-Forwarded-For, daher funktionieren die Konfigurationen in diesen Anleitungen ohne Anpassungen.

Option 2: DigitalOcean Droplet mit Nginx

Wenn Sie ein DigitalOcean Droplet mit Nginx als Webserver oder Reverse Proxy betreiben, verwenden Sie die folgende Konfiguration.

1. Mit dem Droplet verbinden

Terminal
ssh root@your-droplet-ip

2. Die Nginx-Konfiguration öffnen

Bearbeiten Sie die Site-Konfigurationsdatei (normalerweise unter /etc/nginx/sites-available/your-site):

Terminal
sudo nano /etc/nginx/sites-available/your-site

3. Die Proxy-Location-Blöcke hinzufügen

Fügen Sie die folgenden location-Blöcke in Ihre Server-Konfiguration ein:

Nginx
server {
    listen 80;
    server_name your_domain.com;
 
    # Your existing configuration...
 
    # Proxy the analytics script
    location /js/main.js {
        proxy_pass https://cdn.flowsery.com/main.js;
        proxy_set_header Host analytics.flowsery.com;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
 
        # Cache the script for 1 year
        add_header Cache-Control "public, max-age=31536000";
        expires 1y;
    }
 
    # Proxy the event collection endpoint
    location /api/track {
        proxy_pass https://analytics.flowsery.com/analytics/events;
        proxy_set_header Host analytics.flowsery.com;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        # CRITICAL: Flowsery reads this as the authoritative visitor IP. Without it, every visitor resolves to your server's region.
        proxy_set_header x-flowsery-real-ip $remote_addr;
 
        # Allow POST requests
        proxy_method POST;
        proxy_pass_request_body on;
    }
 
    # Your other location blocks...
}

Hinweis: Wenn Sie bereits einen location-Block für /api/track haben, fügen Sie dem Flowsery-Analytics-Skript data-api hinzu, um Events umzuleiten. Zum Beispiel sendet data-api="/flowsery-events" die Daten stattdessen an /flowsery-events.

4. Nginx testen und neu laden

Prüfen Sie die Konfiguration auf Syntaxfehler:

Terminal
sudo nginx -t

Wenn der Test erfolgreich ist, laden Sie Nginx neu:

Terminal
sudo systemctl reload nginx

5. Optional: Caching aktivieren

Für bessere Performance können Sie eine Nginx-Cache-Zone konfigurieren:

Nginx
# Place this outside the server block (typically at the top of nginx.conf)
proxy_cache_path /var/cache/nginx/flowsery_cache
    levels=1:2
    keys_zone=flowsery_cache:10m
    max_size=100m
    inactive=60m
    use_temp_path=off;
 
# In your server block, update the script location
location /js/main.js {
    proxy_cache flowsery_cache;
    proxy_cache_use_stale error timeout http_500 http_502 http_503 http_504;
    proxy_cache_valid 200 1y;
    proxy_cache_bypass $http_pragma;
    proxy_cache_revalidate on;
 
    proxy_pass https://cdn.flowsery.com/main.js;
    proxy_set_header Host analytics.flowsery.com;
 
    add_header Cache-Control "public, max-age=31536000";
    expires 1y;
}

Option 3: DigitalOcean Spaces CDN

Wenn Sie DigitalOcean Spaces CDN vor Ihrem Droplet verwenden, stellen Sie sicher, dass Client-IPs korrekt weitergereicht werden:

  1. Öffnen Sie im DigitalOcean-Dashboard Networking > CDN
  2. Prüfen Sie, ob Ihr CDN so konfiguriert ist, dass Request-Header durchgereicht werden
  3. Das CDN fügt X-Forwarded-For-Header automatisch hinzu
  4. Ihre Nginx-Konfiguration kann die Besucher-IP aus diesen Headern übernehmen

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>

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.
  4. Kontrollieren Sie im Flowsery-Analytics-Dashboard, ob Besucherstandorte korrekt angezeigt werden.

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 den Header x-flowsery-real-ip mit der tatsächlichen Besucher-IP enthält und nicht mit der Server-IP, wenn Requests an den Flowsery-Analytics-Endpunkt /events weitergeleitet werden.
  2. Wenn Nginx hinter einem weiteren Proxy (Cloudflare, Vercel usw.) sitzt, enthält $remote_addr die IP dieses Upstream-Proxys - lesen Sie stattdessen direkt aus $http_cf_connecting_ip oder $http_x_real_ip.