O site abre, mas o teste falha: CORS, erro 403 e timeout

Investigue falhas no teste de conectividade por DNS, TLS e HTTP. Entenda CORS, erro 403 e timeout antes de concluir que seu IP foi bloqueado.

Notebook parcialmente aberto sobre fundo escuro

Você já abriu o site no navegador, mas a ferramenta de verificação do outro lado acende a luz vermelha. Nesse momento, surgem dois julgamentos opostos: ou você acha que seu IP foi bloqueado, ou conclui que a ferramenta de verificação não serve para nada.

Não se apresse em escolher um lado. Abrir a página inicial diretamente, fazer um script ler uma interface e enviar uma requisição a partir de um servidor remoto são três testes diferentes. Somente quando o destino, o método de requisição, o ponto de saída e os critérios de sucesso são suficientemente consistentes, os resultados podem ser comparados diretamente.

O objetivo de investigar esse tipo de problema não é tentar deixar o cartão verde, mas determinar em qual etapa ocorre a falha e se ela afeta o que você realmente precisa fazer.

Primeiro pergunte à ferramenta de verificação: qual parte você está testando?

"Conectividade" não é um estado que abrange todas as funções. Uma visita pode passar por pelo menos resolução de domínio, conexão de rede, conexão segura e processamento da aplicação, enquanto a permissão da conta é outra camada de avaliação.

Item verificado

O que o sucesso indica

O que não pode ser concluído

Resolução DNS

O caminho de resolução selecionado retornou o registro do domínio

O endereço correspondente é acessível

Conexão TCP

A partir do local de teste é possível conectar ao endereço e porta de destino

O certificado HTTPS ou as funções da página estão normais

Handshake TLS

Esta conexão concluiu a negociação de segurança correspondente

Login e interfaces de negócios estão disponíveis

Resposta HTTP

O destino ou um serviço intermediário retornou uma resposta

O conteúdo da resposta é a página esperada

Uso real da página

A sessão atual concluiu uma determinada operação

Outras contas, protocolos e pontos de saída também funcionam

Conseguir conectar a um ícone, recurso estático ou interface de status prova apenas que aquele item verificado respondeu naquele momento. Isso não substitui a validação de login, upload, pagamento ou outras funções de negócio.

Da mesma forma, a ausência de resposta ao Ping não prova, por si só, que o site está indisponível. O ICMP usa um protocolo diferente do acesso às páginas web, e a rede pode não responder ao primeiro enquanto ainda permite conexões HTTPS normais.

Primeiro tipo: a página abre, mas o script de teste não consegue ler o resultado

Esse tipo de problema exige priorizar as restrições de origem cruzada.

Suponha que a página de teste rode no site A, e seu script precise ler a resposta do site B. O navegador verifica se o site B permite que essa origem leia os dados; isso não é a mesma questão de permissão que quando o usuário abre o site B diretamente na barra de endereços.

O guia de CORS da MDN explica que as requisições de origem cruzada estão sujeitas aos mecanismos de segurança do navegador. A requisição pode ter chegado ao destino, mas a resposta não pode ser fornecida ao script; ou a permissão para continuar pode não ter sido concedida já na fase de pré-verificação.

Mais complicado ainda é que o erro obtido pelo script muitas vezes não é específico. Ele não consegue necessariamente distinguir entre restrições de origem cruzada, problemas de conexão e outras causas de falha. Se a ferramenta de teste exibir todos esses casos como "inacessível", é fácil transformar "não foi possível verificar" em "definitivamente inalcançável".

O usuário comum pode verificar se o acesso direto está estável e se a página funciona normalmente, além de guardar as mensagens de erro do teste. Já o desenvolvedor deve olhar o console do navegador e os registros de rede para confirmar se há erros de CORS ou de pré-verificação, em vez de tirar conclusões sobre o IP apenas com base em uma exceção genérica.

Não desative as proteções de segurança do navegador para testar a conexão. Isso cria um ambiente que já se desvia do ambiente normal do usuário e não corrige a política de origem cruzada do serviço de destino.

Segundo tipo: método de requisição, caminho ou estado de login diferentes

Alguns programas de teste usam requisições HEAD para reduzir o tráfego. De acordo com a documentação da MDN sobre HEAD, esse método serve para obter os cabeçalhos de resposta relevantes, sem retornar o corpo da resposta.

Mas um site específico pode aplicar regras diferentes para HEAD, GET e interfaces de negócio. Por exemplo, um caminho pode não permitir HEAD, enquanto o GET enviado pelo navegador do usuário obtém a página normalmente. Nesse caso, é preciso verificar o método de requisição e o caminho de destino, e não transformar a falha de um único caminho na indisponibilidade de todo o site.

O estado de login também causa diferenças. Quando você abre o site diretamente, o navegador pode já ter uma sessão válida salva; o script de teste não necessariamente possui os mesmos cookies, tokens de acesso ou outro contexto. Por outro lado, o fato de a página inicial responder normalmente não significa que um serviço após o login tenha passado no teste.

Para esse tipo de problema, recomenda-se primeiro definir critérios claros de sucesso: é conseguir abrir a página inicial, entrar na própria conta ou concluir uma operação normal? Depois de definir os critérios, escolha a forma de verificação correspondente.

Terceiro tipo: a resposta foi recebida, mas não é a esperada

403: a requisição foi negada, o que não prova que o IP foi banido permanentemente

A explicação da Cloudflare sobre o erro 403 lista causas relacionadas a permissões e regras de segurança. O servidor de origem do site, a CDN ou as políticas de segurança podem participar do processamento da requisição.

Em alguns casos, a página de erro fornece um identificador de requisição, dicas de regras ou canais de suporte para contato. Guardar essas informações ajuda mais na localização do problema do que simplesmente dizer ao suporte "meu IP não funciona".

No entanto, não atribua toda a responsabilidade a uma marca que apareça na página de erro. É preciso analisar os serviços pelos quais a requisição passou e a configuração do site para determinar quem deve tratar o problema.

429: reduza as requisições primeiro, não use atualizações como forma de investigação

O código 429 geralmente indica que a frequência de requisições está limitada. A limitação pode ser aplicada ao IP, à conta, às credenciais, aos cookies ou a recursos específicos, e nem todos os serviços contam da mesma maneira.

A RFC 6585 não define como o servidor deve identificar o solicitante; a documentação da MDN sobre o 429 também explica diferentes formas de limitação e a possível indicação de espera Retry-After.

Ao se deparar com a limitação, pare de atualizar continuamente e de repetir em lote, e respeite o tempo de espera exigido pelo serviço. Usar mais requisições para validar um resultado de limitação pode, na verdade, manter a investigação sob efeito da limitação.

Tempo limite: verifique primeiro o limiar do teste e a fase da falha

O tempo limite apenas indica que o teste não foi concluído dentro do prazo definido. A falha pode ocorrer na resolução, na conexão, na negociação de segurança ou na espera da resposta, e também pode estar relacionada ao enfileiramento no navegador, à carga do dispositivo ou a testes simultâneos.

O "tempo de teste" também não é necessariamente igual à latência de ida e volta da rede. Um resultado de teste HTTP pode incluir o tempo de processamento do serviço e de transferência de recursos, e não pode ser comparado diretamente com os números do Ping.

Um tempo limite passageiro vale a pena ser testado novamente após um intervalo normal; já um tempo limite persistente exige guardar a fase em que ocorreu a falha. Não conclua que o endereço está indisponível a longo prazo com base em uma única ultrapassagem do limiar.

Quarto tipo: os dois testes não partiram da mesma saída de rede

Proxy do navegador, proxy do sistema e VPN podem cobrir aplicativos e protocolos diferentes. Quando o dispositivo tem IPv4 e IPv6 ao mesmo tempo, as duas requisições também podem seguir caminhos diferentes.

Há ainda uma situação fácil de ignorar: a ferramenta de teste usa um servidor remoto para fazer a requisição ao destino. Ela reflete a acessibilidade daquele local de teste, não a capacidade de acesso do IP público que você está usando.

Se a sua pergunta é "meu IP consegue acessar este aplicativo", a evidência principal deve vir do acesso real do dispositivo atual e da rede atual. A verificação remota pode ajudar a confirmar se o servidor está com anomalias generalizadas, mas não substitui a validação da saída local.

Portanto, ao comparar resultados, é preciso ao menos verificar a origem do teste, a família de endereços, o estado do proxy e o endereço de destino. Dizer apenas “ambos testam o mesmo site” não é suficiente para demonstrar que as condições dos testes são idênticas.

Mudar apenas uma condição por vez torna a localização muito mais rápida

Primeiro, registre o endereço público atual por meio da Consulta de IP e, em seguida, use a Testes de acesso a serviços para comparar com o acesso normal. Depois, verifique item por item conforme os sintomas reais.

  1. Na mesma rede e no mesmo navegador, confirme se a página ou funcionalidade de destino está estável e disponível.

  2. Verifique o alvo da detecção e o motivo retornado, distinguindo entre restrições de origem cruzada, códigos de status, falhas de resolução e tempos limite.

  3. Use um perfil de navegador limpo e temporário para comparação, registre as diferenças de extensões, sessões e permissões, sem apressar-se em limpar o ambiente original.

  4. Verifique IPv4, IPv6 e o caminho do proxy; se usar outra rede, use-a apenas como evidência de comparação, sem concluir imediatamente que o IP original foi bloqueado.

  5. Se necessário, complemente com a Consulta de registros DNS ou a Verificação de HTTP e TLS, registrando também os locais de teste usados por essas ferramentas, para evitar confundir a origem da observação.

Mudar de rede altera simultaneamente o endereço, o caminho de resolução e parte das políticas de rede. “Funcionou depois de trocar” pode reduzir o escopo do problema, mas não indica isoladamente qual fator teve efeito.

Em caso de erros de certificado, não anuncie a solução do problema ignorando os avisos de certificado. É preciso verificar a hora do sistema, a cadeia de certificados, o domínio de destino e a configuração de rede autorizada; em dispositivos corporativos, o administrador confirma as políticas relevantes.

O que fornecer ao suporte para obter uma resposta eficaz?

Você pode descrever o problema como um registro reproduzível: em que horário, em qual rede e navegador, qual caminho público foi acessado, qual operação normal foi executada e qual resultado foi obtido; qual é o alvo, o método e o erro da ferramenta de detecção.

Se houver um identificador de solicitação ou código de status de resposta, forneça-o também. O IP público só deve ser entregue por canais de suporte confiáveis quando realmente necessário para a investigação. Senhas, cookies, cabeçalhos Authorization e URLs completas com token de acesso não devem ser publicados em tickets públicos ou capturas de tela.

Uma conclusão útil deve ser suficientemente específica, como “a página inicial abre, mas o script de origem cruzada não consegue ler o resultado”, ou “uma determinada solicitação da saída atual foi limitada por taxa”. Isso está mais próximo de uma solução do que “a rede está ruim” e mostra melhor a disponibilidade real do que uma página de detecção toda verde.

Dois casos comparativos de falhas em camadas: diferentes pontos de falha do DNS ao TLS

Suponha que o mesmo domínio tenha a resolução DNS bem-sucedida em um ambiente, mas a conexão TCP falhe. A resolução obteve registros A ou AAAA, o que apenas indica que os registros foram retornados naquele momento, sem garantir que os endereços correspondentes sejam alcançáveis. A falha pode ocorrer no firewall local, na política da operadora, na porta de destino fechada ou em dispositivos no caminho. Afirmar diretamente que o IP foi bloqueado nesse caso pula as evidências intermediárias. A descrição mais precisa seria "a conexão TCP da rede atual para o endereço de destino não foi estabelecida na porta especificada".

Outro caso ilustrativo é quando o handshake TLS é concluído e o HTTP retorna 403, indicando que a conexão entrou no processamento da camada de aplicação, mas ainda é preciso verificar se o cliente habilitou a validação de certificado. Somente com a validação habilitada e bem-sucedida é possível afirmar que a confiança no certificado e a verificação do nome do host foram aprovadas; um teste que ignora a validação não tem essa prova. O 403 normalmente indica que a solicitação foi recusada, podendo envolver caminho, identidade, permissões ou políticas de segurança, e não prova isoladamente o congelamento da conta.

A diferença entre esses dois casos está no nível da falha. A falha TCP ocorre na fase de conexão de transporte, enquanto a falha HTTP após o TLS ocorre na fase de processamento da aplicação. Esclarecer o nível evita confundir “conexão inalcançável” com “solicitação recusada”. Por exemplo, se um nó de detecção remoto mostrar falha TCP, isso representa apenas que a saída daquele nó não conseguiu estabelecer conexão, e não se pode deduzir diretamente que sua máquina local também falhou. E vice-versa.

Preserve primeiro o erro original: tempo limite significa que a fase correspondente não foi concluída dentro do prazo estipulado, e reinicialização da conexão significa que a conexão foi encerrada ativamente, mas ambos podem vir do lado do destino, de dispositivos no caminho ou do ambiente do cliente, e não se pode localizar o firewall apenas pela palavra do erro. Se já recebeu HTTP 403, preserve o método da solicitação, o caminho, o horário e o identificador da solicitação e peça ao provedor do serviço para verificar as regras. Somente identificando claramente a fase da falha a comparação subsequente terá foco.

O julgamento em camadas também influencia as ações subsequentes. Em caso de falha TCP, mudar de rede, trocar a família de endereços ou verificar o proxy pode fazer sentido; após o TLS bem-sucedido com 403, deve-se reduzir as novas tentativas ineficazes e verificar o método e o caminho da solicitação, ou confirmar se alguma política de segurança foi acionada. Generalizar o status de todo o site ou da conta a partir de um único resultado superestima o alcance da evidência.

Escreva um registro de ticket reproduzível: horário, alvo, ponto de observação e fase

Um ticket eficaz não é uma captura de tela de erro vermelho, mas um registro que possa ser reproduzido a partir de um ponto de observação. Recomenda-se incluir o horário e o fuso horário da ocorrência, a URL de destino acessada, o navegador ou cliente usado, o tipo de rede do dispositivo e o local onde a ferramenta de detecção foi executada. O ponto de observação é especialmente importante: é o navegador local, um nó de detecção remoto ou uma solicitação ativa a partir do servidor? O significado da falha varia conforme o ponto de observação.

Também é preciso especificar a fase da falha. Se possível, distinga entre DNS, TCP, TLS, HTTP e funcionalidades pós-login. O erro original deve preservar o texto ou código de status, como tempo limite de conexão, ID de solicitação na página 403, código de erro de certificado. Informações sensíveis devem ser mascaradas: não cole senhas, cookies, cabeçalhos Authorization ou URLs completas com token de acesso no ticket. O IP público só deve ser fornecido por canais confiáveis quando realmente necessário.

Não declare que “todas as regiões tiveram tempo limite” ou “o país inteiro não consegue acessar”. Você só conhece o ponto de observação que testou. Pode escrever “a partir da rede atual, desde determinado horário, ocorreram três tempos limites de TCP consecutivos”, o que é mais confiável do que “a rede toda está fora do ar”. Resultados de detecção remota podem servir como evidência circunstancial, mas é preciso indicar o local real do teste e o horário.

Se precisar citar evidências de rede como RDAP, ASN ou BGP, consulte a ideia de RDAP, ASN, BGP e RPKI: como interpretar os dados de um IP: primeiro use RDAP para confirmar a atribuição do endereço, depois use BGP ou dados de roteamento para explicar mudanças de caminho. Mas atribuição não equivale a intenção maliciosa, e mudança de ASN não equivale a falha. A evidência deve sustentar a conclusão, não ser usada para criar pânico.

Para investigações envolvendo listas negras de IP ou fenômenos de CAPTCHA, a IP em lista de bloqueio ou CAPTCHA constante: o que fazer oferece direções mais específicas. No ticket, deve-se informar se encontrou CAPTCHA ou recusa explícita e se isso está relacionado ao estado de login. O CAPTCHA pode ser apenas controle de frequência ou alerta de risco, e não equivale ao congelamento da conta.

Por fim, não tome o limite de tempo limite de uma ferramenta como padrão universal para toda a plataforma. Diferentes produtos de detecção têm estratégias distintas de tempo limite, novas tentativas e concorrência; o limite só se aplica ao teste daquela ferramenta naquele momento. Portanto, o ticket deve especificar a ferramenta usada e sua configuração. Somente um registro reproduzível permitirá que a equipe de suporte localize a fase, em vez de deduzir o problema a partir da conclusão.