Encontre a última operação concluída na saída detalhada do curl. “Conectado ao proxy, mas sem resposta CONNECT” delimita muito mais o problema do que “o proxy excedeu o tempo limite”.

Use uma requisição com limites de tempo, substituindo o exemplo local pelo seu proxy HTTP; a lista de proxies HTTP oferece outros endpoints para comparação:

curl --noproxy '' --proxy http://127.0.0.1:8080 --connect-timeout 5 --max-time 15 --verbose https://example.com/

--connect-timeout 5 dá ao estabelecimento da conexão um único orçamento, incluindo consultas e negociações aplicáveis; ele não concede cinco segundos a cada etapa. --max-time 15 limita a operação inteira, inclusive o tempo de transferência após o estabelecimento.

Onde o progresso paraO que investigar em seguida
Sem conexão ao proxyResolução do nome do proxy, porta de escuta, roteamento e política do firewall.
Proxy conectado; sem resposta do túnelCarga do proxy, negociação de autenticação, política de acesso e alcance do destino a partir do proxy.
Túnel aceito; TLS incompletoAlcance do destino, negociação TLS e interceptação administrada.
Cabeçalhos do destino chegam; corpo travaComportamento de transferência do servidor de origem, armazenamento em buffer nos intermediários e possível silêncio intencional da aplicação.

Para entender a ordem das negociações, veja como o CONNECT transporta HTTPS. Uma parada perto do orçamento de conexão sugere a etapa de estabelecimento; uma parada posterior no limite total sugere transferência incompleta. Use a sequência junto com os tempos: só o tempo não identifica o componente. As mensagens variam entre compilações do curl, e uma porta TCP aberta não comprova que o CONNECT funciona.

Mantenha um lado fixo

Compare o mesmo destino por uma rota direta permitida:

curl --noproxy '*' --connect-timeout 5 --max-time 15 --verbose https://example.com/

Depois compare outro destino inofensivo pelo mesmo proxy. Se apenas um falhar, investigue essa rota ou a política de acesso ao destino. Se todos pararem na mesma etapa de estabelecimento, investigue o caminho comum do proxy. Guarde o horário de início, o endpoint, o destino e a última etapa concluída; remova credenciais, tokens, cookies e nomes privados antes de compartilhar logs.

Quando a conexão fica aberta sem progresso útil

Uma transferência de arquivo pode precisar de um limite de baixa velocidade além dos limites de estabelecimento e duração total:

curl --noproxy '' --proxy http://127.0.0.1:8080 --connect-timeout 5 --max-time 60 --speed-limit 100 --speed-time 20 https://example.com/

Isso cancela a operação quando a taxa sustentada permanece abaixo de 100 bytes por segundo por 20 segundos, mantendo um teto total de 60 segundos. Escolha valores conforme a carga de trabalho. Um fluxo de eventos pode estar saudável durante longos períodos de silêncio; uma regra de download pode encerrá-lo indevidamente.

Aumentar todos os limites adia o sintoma. Repetições imediatas podem adicionar conexões a um caminho sobrecarregado. Diagnostique com algumas comparações planejadas; qualquer política posterior de novas tentativas da aplicação precisa de seu próprio orçamento total e deve considerar se repetir a operação é seguro.

Artigos relacionados