Proxy do Flowsery Analytics com DigitalOcean
Encaminhe o Flowsery Analytics através do DigitalOcean para evitar interferência de bloqueadores de anúncios e capturar dados de visitantes mais precisos. Este guia cobre tanto a App Platform como configurações baseadas em Droplets.
Opção 1: DigitalOcean App Platform
Se estiver a executar na DigitalOcean App Platform com Node.js, consulte o guia específico do framework que corresponde à sua stack:
- Aplicações Next.js: veja o guia de proxy para Next.js
- Aplicações Express.js: veja o guia de proxy para Express.js
- Outras aplicações Node.js: siga a abordagem do Express.js
A App Platform trata automaticamente do encaminhamento de IP através do cabeçalho X-Forwarded-For, por isso as configurações desses guias funcionam sem alterações.
Opção 2: DigitalOcean Droplet com Nginx
Se estiver a executar num Droplet da DigitalOcean com Nginx como servidor web ou reverse proxy, use a configuração seguinte.
1. Ligar-se ao seu Droplet
ssh root@your-droplet-ip2. Abrir a configuração do Nginx
Edite o ficheiro de configuração do site (normalmente em /etc/nginx/sites-available/your-site):
sudo nano /etc/nginx/sites-available/your-site3. Adicionar os blocos location do proxy
Insira os seguintes blocos location na configuração do seu servidor:
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...
}Nota: Se já tiver um bloco location para /api/track, adicione data-api à tag de script do Flowsery Analytics para redirecionar os eventos. Por exemplo, data-api="/flowsery-events" envia os dados para /flowsery-events.
4. Testar e recarregar o Nginx
Valide a configuração para detetar erros de sintaxe:
sudo nginx -tSe o teste passar, recarregue o Nginx:
sudo systemctl reload nginx5. Opcional: ativar cache
Para melhorar o desempenho, configure uma zona de cache do 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;
}Opção 3: DigitalOcean Spaces CDN
Se estiver a usar a DigitalOcean Spaces CDN à frente do seu Droplet, confirme que encaminha corretamente os IPs dos clientes:
- No painel da DigitalOcean, vá a Networking > CDN
- Confirme que a sua CDN está configurada para fazer passthrough dos cabeçalhos do pedido
- A CDN adiciona automaticamente cabeçalhos
X-Forwarded-For - A configuração do seu Nginx vai recolher os IPs dos visitantes a partir desses cabeçalhos
Modificar a tag de script
Substitua o snippet original do Flowsery Analytics pela versão com proxy:
<script defer data-fl-website-id="flid_******" src="/js/main.js"></script>Confirmar que funciona
Para validar que o proxy está a funcionar corretamente:
- Navegue até ao seu site
- Abra as ferramentas de desenvolvedor do navegador e mude para o separador Network
- Verifique que os pedidos de analytics são servidos a partir do seu domínio em vez de
analytics.flowsery.com - Verifique no seu painel do Flowsery Analytics se as localizações dos visitantes são apresentadas corretamente
Resolução de problemas
Todos os visitantes aparecem da mesma localização
Quando todos os visitantes mostram uma única localização geográfica (normalmente a região do seu servidor), o proxy não está a encaminhar corretamente os IPs reais dos visitantes.
Resolução:
- Garanta que o seu proxy inclui o cabeçalho
x-flowsery-real-ipcom o endereço IP real do visitante (e não o IP do servidor) ao encaminhar pedidos para o endpoint/eventsdo Flowsery Analytics. - Se o Nginx estiver atrás de outro proxy (Cloudflare, Vercel, etc.),
$remote_addrserá o IP do proxy a montante. Leia antes diretamente de$http_cf_connecting_ipou$http_x_real_ip.