Problemas aleatórios de conexão HTTP

Problemas aleatórios de conexão HTTP

Estou tendo um problema estranho de acesso à internet que não sei como depurar. Um conjunto específico de sites não será carregado com o status "Redefinição de conexão" em cerca de 90% das vezes. Acessá-los pelo seu IP produz os mesmos resultados. Fazer ping no IP funciona (sem perda de pacotes). Estou executando o Windows Server 2012 com as atualizações mais recentes instaladas.

O Fiddler (depurador HTTP MITM) está me dizendo que a resposta HTTP é "HTTP 504". O Wireshark está me mostrando o recebimento de pacotes "Connection Reset" no nível TCP.

Eu tentei as seguintes alterações:

O problema persiste quando:

  • Acessando por IP
  • Usando wget
  • Usando um adaptador de rede diferente (telefone conectado por USB com 3G)
  • Usando um navegador diferente
  • Usando um navegador dentro de uma VM VirtualBox
  • Desativando o firewall
  • Inicializando no modo de segurança com. rede.
  • Alterando o servidor DNS.
  • Fazendo login como um usuário não administrador diferente.

O problema desaparece quando:

  • Usando uma máquina diferente
  • Usando TOR
  • Usando um sistema operacional diferente
  • Reemitir a solicitação HTTP mais de cinco vezes no Fiddler (ou seja, as primeiras 5 reemissões falham e as seguintes funcionam).
  • Capturar a solicitação HTTP usando o Fiddler e reemiti-la em outra máquina.

Meu último recurso será reinstalar o sistema operacional. Há mais alguma coisa que eu possa tentar para depurar esse problema?

Responder1

As conexões que estavam falhando eram conexões TCP com sites habilitados para CloudFlare. O Windows Server 2012 habilita a Notificação de Congestionamento Explícito por padrão - os sinalizadores ECN e CWR (Janela de Congestionamento Reduzida) são definidos como verdadeiros em pacotes TCP.

Resolvi o problema executando

netsh interface tcp set global ecncapability=disabled

Responder2

Isso é um pouco improvável, mas vi esse procedimento corrigir alguns problemas estranhos que não consegui resolver de outra forma. Portanto, definitivamente vale a pena tentar antes de recorrer a uma reinstalação completa.

Redefina a pilha TCP/IP em sua máquina Windows executando

netsh int ip reset c:\resetlog.txt(o parâmetro final para o caminho do log é opcional)

Também existe uma ferramenta automatizada para isso se você seguir o link abaixo.

Documentação:http://support2.microsoft.com/kb/299357/en

informação relacionada