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:
- Next.js-Apps: Siehe die Next.js-Proxy-Anleitung
- Express.js-Apps: Siehe die Express.js-Proxy-Anleitung
- Andere Node.js-Apps: Folgen Sie dem Express.js-Ansatz
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
ssh root@your-droplet-ip2. Die Nginx-Konfiguration öffnen
Bearbeiten Sie die Site-Konfigurationsdatei (normalerweise unter /etc/nginx/sites-available/your-site):
sudo nano /etc/nginx/sites-available/your-site3. Die Proxy-Location-Blöcke hinzufügen
Fügen Sie die folgenden location-Blöcke in Ihre Server-Konfiguration ein:
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:
sudo nginx -tWenn der Test erfolgreich ist, laden Sie Nginx neu:
sudo systemctl reload nginx5. Optional: Caching aktivieren
Für bessere Performance können Sie eine Nginx-Cache-Zone konfigurieren:
# 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:
- Öffnen Sie im DigitalOcean-Dashboard Networking > CDN
- Prüfen Sie, ob Ihr CDN so konfiguriert ist, dass Request-Header durchgereicht werden
- Das CDN fügt
X-Forwarded-For-Header automatisch hinzu - 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:
<script defer data-fl-website-id="flid_******" src="/js/main.js"></script>Prüfen, ob es funktioniert
So validieren Sie das Proxy-Setup:
- Rufen Sie Ihre Website auf.
- Öffnen Sie die Entwicklerwerkzeuge Ihres Browsers und wechseln Sie zum Tab "Network".
- Prüfen Sie, ob Analytics-Requests über Ihre Domain statt über
analytics.flowsery.comausgeliefert werden. - 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:
- Stellen Sie sicher, dass Ihr Proxy den Header
x-flowsery-real-ipmit der tatsächlichen Besucher-IP enthält und nicht mit der Server-IP, wenn Requests an den Flowsery-Analytics-Endpunkt/eventsweitergeleitet werden. - Wenn Nginx hinter einem weiteren Proxy (Cloudflare, Vercel usw.) sitzt, enthält
$remote_addrdie IP dieses Upstream-Proxys - lesen Sie stattdessen direkt aus$http_cf_connecting_ipoder$http_x_real_ip.