Passei um bom tempo solucionando problemas. Aqui está o que confirmei até agora:
Lado S3
- O nome do bucket é exatamente o nome do meu site
- Hospedagem estática habilitada, com o documento Index definido como index.html (que está no bucket)
- Bloquear todo o acesso público: Ativado. Não deve ser um problema porque eu uso OAC
- Política de balde:
{
"Version": "2012-10-17",
"Id": "PolicyForCloudFrontPrivateContent",
"Statement": [
{
"Sid": "AllowCloudFrontServicePrincipal",
"Effect": "Allow",
"Principal": {
"Service": "cloudfront.amazonaws.com"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::mybucketname/*",
"Condition": {
"StringEquals": {
"AWS:SourceArn": "arn:aws:cloudfront::<something>:distribution/<wahtever>"
}
}
}
]
}
distribuição cloudfront
- certificado ssl personalizado, tls 1.2 (https não está funcionando, mas isso é um problema para mais tarde)
- objeto raiz padrão
/index.html
. Não está claro se isso é totalmente necessário, pois o s3 já sabe que esse é o objeto raiz. - Origens: O domínio de origem é o ponto final do SITE S3, porta 80 http
- Comportamentos: Redirecionar HTTP para HTTPS
Rota 53
3 registros:
- Um registro, Alias, roteamento simples, aponta para mim domínio cloudfront
- Registro NS criado pela Aws (eu os adicionei à lista de servidores DNS onde comprei meu domínio
- Registro SOA criado pela aws