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
Os documentos da AWS descrevem que se você estiver usando um endpoint de site para o S3 ao configurar a distribuição do Cloudfront (o que o AWS Wizard insiste), você não poderá usar o OAC.
Então removi a política de bucket relacionada ao OAC e optei por algo mais simples:
E agora, o mais importante, defina Bloquear todo o acesso público como
OFF
.No entanto, faltavam-me duas partes essenciais:
Nas configurações de distribuição do Cloudfront, preciso adicionar um
Alternate domain name (CNAME) - optional
, que é meu fqdn (que também é o nome do bucket do S3).[para https entrar em ação] Não é suficiente apenas adicionar o certificado SSL personalizado à configuração de distribuição, esqueci de adicionar o registro DNS. Vá para o AWS Cert Manager (ACM), seu certificado e as informações para o dns aparecem sob o
DOMAINS
cabeçalho, que você pode exportar para CSV. PareceQue você insere como novo registro CNAME no Route53.
Conclusão: o Wix pode valer US$ 12 por mês.