Existe uma maneira de ter a funcionalidade index.html com conteúdo hospedado no S3?

StackOverflow https://stackoverflow.com/questions/27899

  •  09-06-2019
  •  | 
  •  

Pergunta

Existe uma maneira de tornar o S3 padrão para uma página index.html?Por exemplo.:Minha listagem de objetos de bucket:

/index.html
/favicon.ico
/images/logo.gif

Uma chamada para www.exemplo.com/index.html funciona bem!Mas se alguém ligasse www.exemplo.com/ obteríamos um documento XML de listagem de objetos 403 ou REST, dependendo de como a ACL em nível de bucket foi configurada.

Então, a pergunta:Existe uma maneira de ter a funcionalidade index.html com conteúdo hospedado no S3?

Foi útil?

Solução

Amazon S3 agora oferece suporte Documentos de índice

O documento de índice para um balde pode ser definido como algo como index.html.Ao acessar a raiz do site ou um subdiretório contendo um documento com esse nome esse documento é retornado.

É extremamente fácil de fazer usando o aws cli:

aws s3 website $MY_BUCKET_NAME --index-document index.html

Você pode definir o documento de índice no Console de gerenciamento da AWS:

enter image description here

Outras dicas

Para as pessoas que ainda lutam contra isso após 3 anos, deixe-me acrescentar algumas informações importantes:

O URL do seu site (e para o qual você deve apontar seu DNS) não é

<bucket_name>.s3-us-west-2.amazonaws.com, mas

<bucket_name>.s3-website-us-west-2.amazonaws.com.

Se você usar o primeiro, não funcionará como esperado, não importa o quanto você configure o Documento de índice.

Para um exemplo específico, considere:

Para obter o endereço verdadeiro do seu site, vá para o seu Console de gerenciamento S3, selecione o bucket de destino e, em seguida, Properties, então Static Website Hosting.Ele mostrará o URL do site que funcionará.

Você pode resolver isso facilmente pelo Amazon CloudFront link.No Amazon CloudFront você pode modificar o objeto raiz.Você pode baixar o gerenciador aqui:m1.mycloudbuddy.com/downloads.html.

Já faz muito tempo que essa pergunta está sendo feita e o Amazon S3 está mudando sua interface.Gostaria de responder com capturas de tela atualizadas.

Precisamos habilitar 'hospedagem estática na web' para que o S3 sirva como hospedagem na web.- Vá para Propriedades -> Clique em Hospedagem estática da Web -> Selecione 'Use este balde para hospedar um site' - Digite o documento do índice (index.html por padrão), documento de erro e regras de redirecionamento, se houver.Selecting static web hosting

use-this-bucket-to-host-a-website

Como respondido em https://stackoverflow.com/a/24377823/3086531, o link de hospedagem seria

http://bucket-name.s3-website-region.amazonaws.com

Eu sugeriria a leitura este tópico de 2006 (na conexão de desenvolvedores de serviços web da Amazon).Parece que não há solução fácil para isso.

Sim.usar o AWS Cloudfront permite atribuir um arquivo padrão.

você pode fazer isso usando dns webforwards e cloaking.basta avançar para o caminho completo do index.html

www.example.com encaminha para http://www.example.com.s3.amazonaws.com e certifique-se de ocultar a saída.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top