Ao acessar um domínio acelerado pelo Alibaba Cloud CDN, o navegador pode exibir o erro ERR_TOO_MANY_REDIRECTS. Esse problema ocorre quando o CDN e o servidor de origem entram em um loop de redirecionamento. Este tópico descreve como identificar a causa e resolver a questão.
"Esta página não está funcionando. example.com redirecionou você muitas vezes. (Erro: ERR_TOO_MANY_REDIRECTS)"

Duas configurações incorretas no CDN costumam causar esse erro:
Causa 1: Porta do servidor de origem definida como 80 enquanto a origem possui redirecionamentos HTTPS
Identifique qual cenário se aplica à sua configuração, aplique a correção e, em seguida, limpe ambos os caches.
Como o loop de redirecionamento ocorre
Por padrão, o CDN busca conteúdo na origem via http, mesmo quando a solicitação do cliente chega via HTTPS. Se a origem tiver regras de redirecionamento de http para HTTPS, ela retornará um redirecionamento 301 ou 302 ao CDN. O CDN, por sua vez, fará outra solicitação http, e o ciclo se repetirá até que o limite de redirecionamentos do navegador seja excedido.
O cenário mais comum é:
Um cliente envia uma solicitação HTTPS (porta 443) para o domínio acelerado, como
https://example.alibabacloud.com/.O CDN busca conteúdo no servidor de origem via http (porta 80) por padrão, solicitando
http://example.alibabacloud.com/.O servidor de origem tem regras de redirecionamento de http para HTTPS configuradas e retorna um código de status 301 ou 302 apontando para a URL HTTPS.
O cliente segue o redirecionamento e envia uma nova solicitação HTTPS, que o CDN novamente busca via http na origem.
Esse ciclo se repete até que o limite de redirecionamentos do navegador seja atingido.
Corrigir o loop de redirecionamento
Verifique qual causa se aplica à sua configuração e aplique a correção correspondente.
Causa 1: Porta do servidor de origem definida como 80 enquanto a origem possui redirecionamentos HTTPS
Esta é a causa mais frequente. O CDN busca conteúdo via http (porta 80) e o servidor de origem redireciona as solicitações http para HTTPS, criando o loop.
Correção: Alterar a porta do servidor de origem para 443
Faça logon no console do Alibaba Cloud CDN.
No painel de navegação à esquerda, clique em Domain Names.
Localize o domínio desejado e clique em Gerencie na coluna Actions.
Na seção Origin Information, clique em Modifique na coluna Actions.
Altere a porta para
443e clique em OK.

Causa 2: Política de protocolo de origem definida como HTTP
Se a Origin Protocol Policy estiver ativada e definida como http, o CDN sempre enviará solicitações http para a origem, mesmo quando o cliente usar HTTPS. Combinado com um redirecionamento de http para HTTPS na origem, isso cria o mesmo loop.
Ignore esta seção se a Origin Protocol Policy não estiver ativada para o seu domínio.
Correção: Definir a política de protocolo de origem como Follow
Faça logon no console do Alibaba Cloud CDN.
No painel de navegação à esquerda, clique em Domain Names.
Localize o domínio desejado e clique em Gerencie na coluna Actions.
Na árvore de navegação à esquerda, clique em Origin Fetch.
Na aba Configurations, localize Origin Protocol Policy e clique em Modifique.
Defina Protocol Type como Follow e clique em OK.
Quando definido como Follow, o CDN corresponde ao protocolo usado na solicitação do cliente. Solicitações de clientes HTTPS resultam em buscas de origem HTTPS, interrompendo o loop.
Limpar redirecionamentos em cache
Após aplicar a correção, limpe tanto o cache do CDN quanto o cache do seu navegador. Os nós do CDN e o seu navegador podem ter armazenado a resposta de redirecionamento 301 ou 302 e continuarão a reproduzi-la — mesmo depois de atualizar a configuração do CDN — até que esses caches sejam limpos.
Limpar o cache do CDN
Faça logon no console do Alibaba Cloud CDN.
No painel de navegação à esquerda, clique em Purge and Prefetch.
Defina Operation como Purge e Operation Method como Directory.
Insira a URL base do seu domínio. A URL deve começar com
https://ouhttp://e terminar com/. Por exemplo, se o domínio acelerado forhttps://www.example.com/image/static/1.png, insirahttps://www.example.com/.Clique em Envie.
Verifique o progresso na aba Records.
Limpar o cache do navegador
Os navegadores armazenam respostas de redirecionamento 301 e 302 em cache e as reproduzem localmente, ignorando completamente o CDN. Limpe o cache do navegador após corrigir a configuração do CDN.
Usando o Chrome como exemplo:
Clique no ícone Mais
>
Exclua Browsing Data.Selecione um intervalo de tempo, como Last hour ou All time.
Selecione Cached images and files (obrigatório).
Clique em Exclua data.
Verificar a correção
Use qualquer um dos métodos abaixo para confirmar que o loop de redirecionamento foi resolvido:
-
curl: Execute o comando a seguir e verifique se a resposta contém um cabeçalho
Location. Se o cabeçalhoLocationestiver ausente, o problema foi resolvido. Substituahttps://www.example.com/pelo seu domínio acelerado.curl -I https://www.example.com/ Modo anônimo: Abra uma nova janela de navegação anônima ou privada e acesse o domínio acelerado. Uma janela anônima não possui redirecionamentos em cache, portanto, o resultado refletirá a configuração atual do CDN.