Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Problema de Acesso ao S3

Olá à todos!

No curso: Django - CRUD e Persistência no S3 da AWS

Estou com um problema de acesso ao S3! O browser não consegue renderizar a página de login porque não está com acesso à folha de estilo. Recebi no browser a seguinte resposta (analisada no F12)

[1] Response was blocked by CORB(Cross-Origin Read Blocking)
Cross-Origin Read Blocking (CORB) blocked a crossórigin response.
AFFECTED RESOURCES
1 requests
   - style.css

A linha é a seguinte:

<link rel="stylesheet" href="https://imagens-alura-space-123.s3.amazonaws.com/static/styles/style.css">

Já revisei o código do projeto inteiro e me certifiquei que toda a criação do bucket, do usuário no IAM, do settings estão corretas.

Procurei na internet mas não consegui entender o motivo. Alguém teve esse problema? Sabe como resolver? Grato

2 respostas

Olá, Julio.

Tudo bem?

Esse problema que você está enfrentando está relacionado ao CORB (Cross-Origin Read Blocking), que é uma medida de segurança implementada pelos navegadores para evitar que scripts maliciosos acessem recursos de outros domínios.

Para tentar resolver esse problema, você pode tentar configurar o CORS (Cross-Origin Resource Sharing) no bucket do S3. O CORS permite que você defina quais domínios podem acessar os recursos do seu bucket.

Aqui está um passo a passo de como você pode configurar o CORS no seu bucket S3:

  1. Acesse o Console da AWS S3:

    • Vá para o console do Amazon S3.
    • Selecione o bucket que você está usando para armazenar seus arquivos estáticos.
  2. Configurar as Regras de CORS:

    • Clique na aba "Permissões".
    • Role para baixo até encontrar a seção "Configuração de CORS".
    • Clique em "Editar" e adicione a seguinte configuração:
    [
        {
            "AllowedHeaders": [
                "*"
            ],
            "AllowedMethods": [
                "GET"
            ],
            "AllowedOrigins": [
                "*"
            ],
            "ExposeHeaders": []
        }
    ]
    

    Essa configuração permite que qualquer origem (AllowedOrigins) faça requisições GET (AllowedMethods) ao seu bucket. Você pode ajustar os valores conforme necessário para maior segurança.

  3. Salvar as Configurações:

    • Clique em "Salvar" para aplicar as configurações.

Depois de configurar o CORS, limpe o cache do seu navegador e tente acessar a página novamente. Isso deve resolver o problema de bloqueio de recursos.

Espero ter ajudado e bons estudos!

solução!

Olá Renan! Tudo bem? Agradeço sua resposta mas, infelizmente, não funcionou. Fiz tudo exatamente como você aconselhou. (Configurei o bucket no S3 e limpei o cache (utilizo o Chrome). Inclusive fiz teste utilizando outro navegador (Edge) que nunca tinha utilizado para os testes desse curso e o problema apresentado foi o mesmo. Teria mais alguma sugestão? Obrigado pela atenção.

==========================================================================================================

Continue pesquisando e encontrei na ChatGPT a solução! Alterei a "Politica do Bucket" no S3. Coloquei o Json mostrado abaixo e aí passou a funcionar!

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": "", "Action": "s3:GetObject", "Resource": "arn:aws:s3:::imagens-alura-space-123/" } ] }