Especificar um objeto raiz padrão - Amazon CloudFront

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Especificar um objeto raiz padrão

Você pode configurar CloudFront para retornar um objeto específico (o objeto raiz padrão) quando um usuário solicita a URL raiz da sua distribuição em vez de solicitar um objeto na sua distribuição. A especificação de um objeto raiz padrão evita a exposição do conteúdo da sua distribuição.

Como especificar um objeto raiz padrão

Para evitar a exposição do conteúdo de sua distribuição ou a devolução de um erro, execute as etapas a seguir para especificar um objeto raiz padrão para sua distribuição.

Para especificar um objeto raiz padrão para sua distribuições
  1. Faça upload do objeto raiz padrão na origem à qual sua distribuição aponta.

    O arquivo pode ser qualquer tipo compatível com o CloudFront. Para obter uma lista de restrições no nome do arquivo, consulte a descrição do DefaultRootObject elemento em. DistributionConfig

    nota

    Se o nome do arquivo do objeto raiz padrão for muito longo ou contiver um caractere inválido, o erro HTTP 400 Bad Request - InvalidDefaultRootObject será CloudFront retornado. Além disso, CloudFront armazena o código em cache por 10 segundos (por padrão) e grava os resultados nos registros de acesso.

  2. Confirme se as permissões do objeto concedem pelo CloudFront menos read acesso.

    Para obter mais informações sobre permissões do Amazon S3, consulte Identity and Access Management no Amazon S3 no Guia do usuário do Amazon Simple Storage Service.

  3. Atualize sua distribuição para se referir ao objeto raiz padrão usando o CloudFront console ou a CloudFront API.

    Para especificar um objeto raiz padrão usando o CloudFront console:

    1. Faça login no AWS Management Console e abra o CloudFront console emhttps://console.aws.amazon.com/cloudfront/v4/home.

    2. Na lista de distribuições no painel superior, selecione a distribuição a ser atualizada.

    3. No painel Settings (Configurações), na guia General (Geral), escolha Edit (Editar).

    4. Na caixa de diálogo Edit settings (Editar configurações), no campo Default root object (Objeto raiz padrão), insira o nome do arquivo do objeto raiz padrão.

      Insira somente o nome do objeto, por exemplo, index.html. Não adicione / antes do nome do objeto.

    5. Escolha Salvar alterações.

    Para atualizar sua configuração usando a CloudFront API, você especifica um valor para o DefaultRootObject elemento na sua distribuição. Para obter informações sobre o uso da CloudFront API para especificar um objeto raiz padrão, consulte UpdateDistributiona Amazon CloudFront API Reference.

  4. Confirme se você ativou o objeto raiz padrão ao solicitar o URL raiz. Se o navegador não exibir o objeto raiz padrão, execute as seguintes etapas:

    1. Confirme se sua distribuição está totalmente implantada visualizando o status de sua distribuição no CloudFront console.

    2. Repita as etapas 2 e 3 para verificar se foram concedidas as permissões corretas e se a configuração da distribuição foi atualizada corretamente para especificar o objeto raiz padrão.

Como funciona o objeto raiz padrão

Suponhamos, os seguintes pontos de solicitação do objeto image.jpg:

https://d111111abcdef8.cloudfront.net/image.jpg

Em contrapartida, os seguintes pontos de solicitação do URL raiz da mesma distribuição, em vez de um objeto específico, como no primeiro exemplo:

https://d111111abcdef8.cloudfront.net/

Ao definir um objeto raiz padrão, uma solicitação do usuário chamando a raiz da distribuição retornará o objeto raiz padrão. Por exemplo, se você designar o arquivo index.html como o objeto raiz padrão, uma solicitação de:

https://d111111abcdef8.cloudfront.net/

Retorna:

https://d111111abcdef8.cloudfront.net/index.html

nota

CloudFront não determina se um URL com várias barras finais (https://d111111abcdef8.cloudfront.net///) é equivalente a. https://d111111abcdef8.cloudfront.net/ O servidor de origem faz essa comparação.

Se você definir um objeto raiz padrão, uma solicitação do usuário de um subdiretório da distribuição não retornará o objeto raiz padrão. Por exemplo, suponha que index.html seja seu objeto raiz padrão e que CloudFront receba uma solicitação do usuário final para o install diretório em sua CloudFront distribuição:

https://d111111abcdef8.cloudfront.net/install/

CloudFront não retorna o objeto raiz padrão, mesmo que uma cópia de index.html apareça no install diretório.

Se você configurar sua distribuição para permitir todos os métodos HTTP CloudFront compatíveis, o objeto raiz padrão se aplicará a todos os métodos. Por exemplo, se seu objeto raiz padrão for index.php e você escrever seu aplicativo para enviar uma POST solicitação à raiz do seu domínio (https://example.com), CloudFront envie a solicitação para https://example.com/index.php.

O comportamento dos objetos raiz CloudFront padrão é diferente do comportamento dos documentos de índice do Amazon S3. Ao configurar um bucket do Amazon S3 como um site e especificar o documento de índice, o Amazon S3 retornará o documento de índice mesmo que o usuário solicite um subdiretório no bucket. (Uma cópia do documento de índice deve ser exibida em cada subdiretório.) Para obter mais informações sobre como configurar buckets do Amazon S3 como sites e sobre documentos de índice, consulte o capítulo Hospedar sites no Amazon S3 no Manual do usuário do Amazon Simple Storage Service.

Importante

Lembre-se de que um objeto raiz padrão se aplica somente à sua CloudFront distribuição. É necessário gerenciar a segurança da sua origem. Por exemplo, se você estiver usando uma origem do Amazon S3, ainda precisará definir as ACLs do bucket do Amazon S3 adequadamente para garantir o nível de acesso desejado no bucket.

Como CloudFront funciona se você não define um objeto raiz

Se você não definir um objeto raiz padrão, as solicitações da raiz da distribuição passarão para o servidor de origem. Se estiver usando uma origem do Amazon S3, qualquer um dos seguintes poderá ser retornado:

  • Uma lista do conteúdo do seu bucket do Amazon S3 — Sob qualquer uma das seguintes condições, o conteúdo de sua origem é visível para qualquer pessoa que use CloudFront para acessar sua distribuição:

    • Seu bucket não está configurado corretamente.

    • As permissões do Amazon S3 no bucket associado à distribuição e nos objetos do bucket concedem acesso a todos.

    • Um usuário final acessa sua origem usando o URL raiz dela.

  • Uma lista do conteúdo privado de sua origem — Se você configurar sua origem como uma distribuição privada (somente você e você CloudFront têm acesso), o conteúdo do bucket do Amazon S3 associado à sua distribuição ficará visível para qualquer pessoa que tenha as credenciais para acessar sua distribuição. CloudFront Nesse caso, os usuários não podem acessar seu conteúdo pelo URL raiz da origem. Para obter mais informações sobre distribuição de conteúdo privado, consulte Veicular conteúdo privado com signed URLs e cookies.

  • Error 403 Forbidden— CloudFront retornará esse erro se as permissões no bucket do Amazon S3 associadas à sua distribuição ou as permissões nos objetos desse bucket negarem acesso a CloudFront e a todos.