Estou tentando configurar um site simples baseado no Amazon AWS S3, conforme explicado aqui .
Eu configurei o bucket S3 (simples3websitetest.com), dei as permissões (espero) certas:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AddPerm",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": [
"s3:GetObject"
],
"Resource": [
"arn:aws:s3:::simples3websitetest.com/*"
]
}
]
}
Carreguei index.html, acesso ao site de configuração e ele pode ser acessado em http://simples3websitetest.com.s3-website-us-west-2.amazonaws.com/index.html
Até aí tudo bem, agora eu quero configurar o acesso ao Amazon Route53 e foi aí que fiquei preso.
Configurei uma zona hospedada em um domínio que possuo (resourcesbox.net), cliquei em "criar conjunto de registros" e cheguei à etapa "alias de configuração", mas recebo "Nenhum destino disponível" nos pontos de extremidade do site S3 quando eu tente definir o alvo do alias.
Do que eu perdi ??
amazon-web-services
website
amazon-s3
alias
amazon-route53
Amir Zucker
fonte
fonte
Respostas:
O alias do registro A criado deve ser igual ao nome do bloco, porque a hospedagem virtual de blocos no S3 exige que o
Host:
cabeçalho enviado pelo navegador corresponda ao nome do bloco. Não há realmente outra maneira prática pela qual a hospedagem virtual de buckets possa ser realizada ... o bucket deve ser identificado por algum mecanismo, e esse mecanismo são os cabeçalhos http.Para criar um alias para um bucket dentro do domínio "example.com", o nome do bucket também precisará ser um nome de host que você pode declarar legalmente nesse domínio ... o registro A do Route 53 "testbucket.example .com ", por exemplo, só pode ser aliasado a um bloco chamado" testbucket.example.com "... e a nenhum outro bloco.
Na sua pergunta, você está quebrando essa restrição ... mas só é possível criar um alias para um bloco chamado "simples3websitetest.com" dentro do (e no ápice do) domínio "simples3websitetest.com".
Isso ocorre por design e não é exatamente uma limitação da Rota 53 nem do S3. Eles estão apenas impedindo que você faça algo que não pode funcionar. Os servidores da Web desconhecem qualquer alias ou CNAMEs ou qualquer outra coisa feita no DNS - eles recebem apenas o nome do host original ao qual o navegador acredita que está tentando se conectar, nos cabeçalhos http enviados pelo navegador ... e o S3 usa isso informações para identificar o nome do bloco ao qual a solicitação hospedada virtual se aplica.
Observe, no entanto, que essa restrição se aplica apenas quando você não está usando o CloudFront na frente do seu bucket.
Com o CloudFront, há mais flexibilidade, porque o
Host:
cabeçalho pode ser reescrito (pelo próprio CloudFront) antes que a solicitação seja passada para o S3. Você configura o "host de origem" em sua distribuição do CloudFront comoyour-bucket.s3-website-xx-yyyy-n.amazonaws.com
onde xx-yyyy-n é a região da AWS do S3 onde seu bucket foi criado. Esse terminal é mostrado no console do S3 para cada bucket.fonte
alias
registros do Route 53 apontados para buckets S3 com hospedagem de site ativada, o que faz com que o DNS seja resolvido no ponto de extremidade do site, não no ponto de extremidade REST. Os pontos finais do site não suportam SSL ; somente os terminais REST fazem. Além disso, todos os certificados curinga suportam apenas um máximo de um*
e podem aparecer apenas no componente de nome do host mais à esquerda, portanto, essa não é realmente uma limitação do S3.https://s3-us-west-2.amazonaws.com/my-bucket.with-dots.in-us-west-2/key
. Terminal regional errado = erro de redirecionamento.Suponha que você tenha uma zona hospedada abc.com. e você cria um bucket abc.com (que não aparece na lista em aliases de rotas) - você pode pensar que é. após o nome - com o qual você não pode nomear os baldes
Tente isso também. Porque a primeira vez que criei o bucket com o nome correto e ainda não funcionou. Acredite, eu tenho TOC, então não perdi um ponto final ou vírgula.
Isso funcionou para mim, tentando quase tudo - algumas sugestões que vejo é sair e fazer login para algum tipo de cache limpo - não tenho certeza
fonte