Erro Connect Timed Out
O que fazer quando vejo este erro nos logs de Webhooks do Asaas?
O que significa
O erro Connect Timed Out nos logs de Webhooks indica que o Asaas não conseguiu estabelecer conexão com o servidor responsável por receber os eventos.
Diferente do erro 408 - Read Timed Out, em que a conexão é estabelecida mas a aplicação demora para responder, no Connect Timed Out a conexão sequer é concluída.
Isso significa que o problema ocorre antes do processamento do webhook.
Como funciona
Quando ocorre um evento, o Asaas tenta abrir uma conexão com a URL configurada.
Se o servidor não responder dentro do tempo esperado, a tentativa é encerrada e o webhook é registrado com erro Connect Timed Out.
Enquanto o problema persistir, novas tentativas serão realizadas conforme a política de retentativas do Asaas.
Caso ocorram 15 falhas consecutivas, a fila de Webhooks será interrompida.
Quando esse erro acontece
As causas mais comuns são:
- servidor desligado;
- indisponibilidade temporária do provedor;
- falhas na rede;
- DNS incorreto;
- bloqueio por firewall;
- portas fechadas;
- hospedagem compartilhada sobrecarregada;
- alto consumo de CPU ou memória;
- limite de conexões simultâneas;
- aplicação parada;
- problemas no balanceador de carga;
- timeout no provedor de hospedagem.
Impacto na integração
Enquanto o endpoint permanecer indisponível:
- os eventos não serão entregues;
- ocorrerão novas tentativas automáticas;
- a fila sofrerá penalizações;
- após 15 falhas consecutivas, a fila será interrompida;
- novos eventos continuarão sendo acumulados;
- eventos permanecem armazenados por até 14 dias;
- eventos não processados após esse período serão excluídos permanentemente.
Por isso, é importante restaurar a disponibilidade do endpoint o mais rápido possível.
Diferença entre Connect Timed Out e Read Timed Out
| Erro | O que aconteceu |
|---|---|
| Connect Timed Out | A conexão não foi estabelecida |
| Read Timed Out | A conexão foi estabelecida, mas a aplicação não respondeu a tempo |
Em resumo:
Connect Timed Out
↓
Não conseguiu conectarRead Timed Out
↓
Conectou, mas não recebeu respostaComo investigar
1. Verificar se o servidor está online
Teste a URL diretamente:
https://minhaapi.com/webhookVerifique se:
- a aplicação está rodando;
- o domínio está ativo;
- a URL responde normalmente.
2. Verificar DNS
Confirme se o domínio está apontando corretamente.
Problemas de DNS podem impedir que o Asaas encontre o servidor.
3. Verificar firewall
Certifique-se de que:
- a porta HTTPS está aberta;
- não existem bloqueios por IP;
- o firewall não está rejeitando conexões.
Caso utilize Cloudflare ou WAF, valide também as regras configuradas.
4. Verificar recursos do servidor
Em hospedagens compartilhadas ou servidores com poucos recursos, é comum ocorrer:
- esgotamento de memória;
- uso excessivo de CPU;
- excesso de conexões simultâneas.
Monitore:
- CPU;
- memória;
- utilização do disco;
- quantidade de conexões abertas.
5. Verificar indisponibilidade do provedor
O problema pode ocorrer em:
- AWS;
- Azure;
- GCP;
- Hostinger;
- KingHost;
- VPS ou hospedagens compartilhadas.
Verifique se existe alguma indisponibilidade temporária.
Exemplo de cenário comum
Asaas
↓
Tentativa de conexão
↓
Servidor fora do ar
↓
Conexão não estabelecida
↓
Connect Timed Out
↓
Nova tentativa automáticaOutro cenário:
Asaas
↓
Tentativa de conexão
↓
Firewall bloqueia a porta
↓
Timeout
↓
Connect Timed OutBoas práticas
- manter monitoramento do servidor;
- utilizar HTTPS;
- monitorar CPU e memória;
- evitar hospedagens muito limitadas;
- configurar alertas de indisponibilidade;
- utilizar balanceadores de carga quando necessário;
- monitorar DNS e certificados SSL;
- manter logs da aplicação e do servidor.
Erros comuns
- reiniciar apenas a aplicação e esquecer o servidor web;
- alterar DNS e esquecer a propagação;
- bloquear portas no firewall;
- utilizar hospedagens compartilhadas sobrecarregadas;
- assumir que o problema está no payload do webhook;
- analisar apenas os logs do Asaas e ignorar os logs do servidor.
Como validar se funcionou
Após corrigir o problema:
- Reative a fila de Webhooks.
- Gere um novo evento.
- Consulte os logs.
Se tudo estiver correto:
- os erros de conexão deixarão de ocorrer;
- os eventos serão entregues normalmente;
- a fila voltará a ser processada em ordem cronológica.
Conteúdos relacionados
- Logs de Webhooks
- Penalização de filas
- Fila pausada
- Como reativar fila interrompida
- Bloqueio do Firewall na CloudFlare
- IPs oficiais do Asaas
- Erro 403 (Forbidden)
- Erro 408 - Read Timed Out
- Erro 500 (Internal Server Error)
