Quando o Alibaba Cloud CDN está na frente do OSS, os navegadores interagem com os pontos de presença (POPs) do CDN, e não diretamente com o OSS. Isso significa que a regra de compartilhamento de recursos entre origens (CORS) configurada no console do OSS não se aplica às respostas do CDN. Configure os cabeçalhos CORS separadamente no console do CDN para que os POPs os incluam em cada resposta armazenada em cache.
Descrição do problema
Após configurar uma regra de compartilhamento de recursos entre origens (CORS) no console do OSS, não é possível acessar os recursos do OSS por meio de nomes de domínio acelerados pelo CDN.
Causas
Dois problemas geralmente causam falha nas requisições cross-origin em configurações aceleradas pelo CDN:
Cache obsoleto: os POPs do CDN armazenaram em cache os cabeçalhos de resposta originais antes de você configurar a regra CORS. O navegador recebe esses cabeçalhos desatualizados — sem cabeçalhos CORS — e bloqueia a requisição.
Configuração ausente: o nome de domínio acelerado pelo CDN não está listado como origem permitida, ou você não especificou cabeçalhos de requisição personalizados ou métodos HTTP válidos, como GET, POST e DELETE.
Solução
Configure cabeçalhos de resposta HTTP personalizados dos POPs no console do Alibaba Cloud CDN. Isso faz com que o CDN inclua cabeçalhos CORS em cada resposta, independentemente do conteúdo armazenado no cache do POP.
Configurar cabeçalhos de resposta HTTP dos POPs
Faça logon no console do Alibaba Cloud CDN.
No painel de navegação à esquerda, clique em Domain Names.
Na página Domain Names, localize o nome de domínio que deseja gerenciar e clique em Manage na coluna Actions.
Na árvore de navegação à esquerda, clique em Cache. Na página exibida, clique na aba POP HTTP Response Header.
Na aba POP HTTP Response Header, clique em Customize.
Na caixa de diálogo POP HTTP Response Header, configure os seguintes cabeçalhos de resposta:
nullOs valores abaixo são pontos de partida. Ajuste-os de acordo com as origens, os métodos e os cabeçalhos permitidos.
Cabeçalho de resposta Valor Descrição Access-Control-Allow-Origin*Defina o valor como asterisco ( *) e ative a autenticação em requisições cross-origin.Access-Control-Allow-MethodsPOST,GET,HEAD,PUT,DELETELista os métodos HTTP permitidos em requisições cross-origin. Access-Control-Max-Age3600Define por quanto tempo (em segundos) o navegador armazena em cache a resposta de preflight. Após a configuração, o resultado será semelhante a este:

Resultado
Após salvar, os POPs do CDN incluem os cabeçalhos configurados nas respostas dos recursos do OSS. A imagem a seguir mostra exemplos de resultados de teste após os cabeçalhos entrarem em vigor:
