Objeto raiz e subdiretórios padrão do AWS CloudFront

4

Estou hospedando um blog Jekyll no S3 e no CloudFront. Definir o documento padrão no S3 funciona bem e todas as subpastas vão para o index.html.

Em minha distribuição do CloudFront, defini o Objeto Raiz Padrão como index.html, mas os subdiretórios não recebem isso - em vez disso, recebo o seguinte erro

<Error>
<Code>NoSuchKey</Code>
<Message>The specified key does not exist.</Message>
<Key>about</Key>
<RequestId>F8324894C093EB53</RequestId>
<HostId>
Girhbo7YLEl9sxPS3KjvhbkpL32qNsYgiVLElAhPOvqrekfqfpJ/2AAYRg4rNJ+t4Imc86cjiw4=
</HostId>
</Error>

Se eu navegar manualmente para o domínio / subdir / index.html, tudo funcionará bem.

Alguma ideia?

    
por Luke Griffith 31.05.2016 / 21:34

1 resposta

6

Ao usar um bucket do S3 com o recurso de hospedagem do site (que permite documentos de índice), você não deseja usar o ponto de extremidade REST do bucket, que é o que o CloudFront oferecerá no console. Você precisa digitar o ponto de extremidade do site, em vez disso.

On the Create Distribution page, for Origin Settings, type the Amazon S3 static website hosting endpoint for your bucket in the Origin Domain Name box, for example: example.com.s3-website-us-east-1.amazonaws.com.

Important

Do not select the name of your bucket from the list, such as example.com.s3.amazonaws.com.

http://docs.aws.amazon.com/gettingstarted/latest/swh/getting-started-create-cfdist.html

Você também pode desativar a configuração do objeto raiz padrão no CloudFront. Isso não é necessário para essa configuração.

Lembre-se de que você pode armazenar respostas de erros em cache por alguns minutos após a propagação da alteração. Verifique os cabeçalhos de resposta X-Cache e Age para determinar se você está vendo uma resposta em cache e há quanto tempo a resposta foi armazenada em cache.

    
por 01.06.2016 / 05:24