Esta página mostra exemplos e sugestões para usar contentores para alojar um Website estático.
Páginas de especialidade
Páginas de índice
Uma página de índice (também denominada índice de diretório do servidor Web) é um ficheiro publicado para os visitantes quando solicitam um URL que não tem um ficheiro associado. Quando atribui uma propriedade do MainPageSuffix
, o Cloud Storage procura um ficheiro com esse nome cujo prefixo corresponda ao URL pedido pelo visitante.
Por exemplo, suponhamos que define o MainPageSuffix
do seu Website estático como
index.html
. Além disso, suponhamos que não tem nenhum ficheiro com o nome directory
no seu contentor www.example.com
. Nesta situação, se um utilizador pedir o URL
http://www.example.com/directory
, o Cloud Storage tenta publicar o ficheiro
www.example.com/directory/index.html
. Se esse ficheiro também não existir, o Cloud Storage devolve uma página de erro.
O MainPageSuffix
também controla o ficheiro publicado quando os utilizadores pedem o site de nível superior. Continuando com o exemplo acima, se um utilizador pedir
http://www.example.com
, o Cloud Storage tenta disponibilizar o ficheiro
www.example.com/index.html
.
Quando tentar aceder a um URL com uma barra invertida no final, como
http://www.example.com/dir/
, consulte a secção Resolução de problemas.
Página de erro
A página de erro é o ficheiro devolvido aos visitantes do seu site estático que
pedem um URL que não corresponde a um ficheiro existente. Se tiver atribuído um MainPageSuffix
, o Cloud Storage só devolve a página de erro se não existir um ficheiro com o nome pedido nem uma página de índice aplicável.
Quando devolve uma página de erro, o código de resposta HTTP é 404
. A propriedade que controla que ficheiro funciona como a página de erro é NotFoundPage
. Se não
definir NotFoundPage
, os utilizadores recebem uma página de erro genérica.
Exemplos de configuração de Websites
Segmento de três objetos
Suponhamos que um contentor denominado www.example.com
foi configurado como um Website com as seguintes definições e ficheiros:
MainPageSuffix
= "index.html"NotFoundPage
= "404.html"- O contentor contém três objetos partilhados publicamente: "index.html", "404.html" e "dir/index.html".
A tabela seguinte mostra o conteúdo publicado para os URLs selecionados:
URL pedido | Conteúdo publicado | Código de resposta HTTP |
---|---|---|
http://www.example.com http://www.example.com/ http://www.example.com/index.html |
O objeto "index.html". | 200 |
http://www.example.com/hello | O objeto "404.html". | 404 |
http://www.example.com/dir/index.html | O objeto "dir/index.html". | 200 |
http://www.example.com/dir | Uma resposta com um corpo vazio e um cabeçalho Location que aponta
para "dir/index.html". |
301 |
http://www.example.com/dir/ | O objeto "dir/index.html", partindo do princípio de que não existe nenhum objeto de zero bytes para /dir/ | 200 |
Um objeto vazio de zero bytes, se existir para /dir/. Consulte o tópico Resolução de problemas para remover este objeto de zero bytes. | 301 |
Contentor de dois objetos
Suponhamos que um contentor denominado www.example.com
foi configurado como um Website com as seguintes definições e ficheiros:
MainPageSuffix
= "main.html"NotFoundPage
= "404.html"- O contentor contém dois objetos partilhados publicamente: "main.html" e "404.html".
A tabela seguinte mostra o conteúdo publicado para os URLs selecionados:
URL pedido | Conteúdo publicado | Código de resposta HTTP |
---|---|---|
http://www.example.com http://www.example.com/ |
O objeto "main.html". | 200 |
http://www.example.com/index.html | O objeto "404.html". | 404 |
Se um objeto for partilhado publicamente, também pode ver esse objeto com o URL:
http://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME
Por exemplo, o URL de um objeto index.html
seria:
http://storage.googleapis.com/www.example.com/index.html
Para mais informações sobre como trabalhar com dados acessíveis publicamente, consulte o artigo Aceder a dados públicos.
Sugestões para trabalhar com um contentor configurado como um Website
Seguem-se algumas sugestões a ter em conta quando usar um contentor para alojar um Website estático.
Adicione subdomínios
Suponhamos que também quer publicar conteúdo em test.example.com
a partir de um contentor diferente do que publica conteúdo em www.example.com
. Para isso:
Crie um novo contentor para publicar o seu conteúdo adicional.
Se seguiu o tutorial em Alojamento de um Website estático para publicar o seu conteúdo através de HTTPS, edite o balanceador de carga na Google Cloud consola da seguinte forma:
- Para a Configuração de back-end, crie um novo contentor de back-end
test-bucket
selecionando o novo contentor que criou. - Para Regras de anfitriões e caminhos, adicione uma nova regra da seguinte forma:
Hosts Paths Backends test.example.com /* test-bucket
Para a configuração do front-end, adicione um novo endereço IP e porta do front-end com os mesmos valores da primeira configuração, com as seguintes exceções:
- Para o endereço IP, crie e reserve um novo endereço IP.
- Para Certificado, crie um novo certificado SSL para
test.example.com
.
- Para a Configuração de back-end, crie um novo contentor de back-end
Depois de atualizar o equilibrador de carga, adicione um novo registo
A
ao serviço de registo do domínio com o endereço IP da nova configuração de front-end:NAME TYPE DATA test A IP_ADDRESS
Comportamento da API
As configurações do Website MainPageSuffix
e NotFoundPage
só são usadas para pedidos que chegam ao Cloud Storage através de um redirecionamento CNAME
ou A
. Por exemplo, um pedido para www.example.com
mostra a página de índice, mas um pedido equivalente para
storage.googleapis.com/www.example.com
não.
Assim, o comportamento da API para pedidos a domínios do Cloud Storage, como
storage.googleapis.com/www.example.com
, é preservado. Por exemplo, pode continuar a listar objetos no contentor www.example.com
como faria para qualquer outro contentor. No caso do bucket www.example.com
, a lista de objetos que recebe inclui 404.html
e index.html
.
Alojamento de recursos estáticos para um Website dinâmico
Pode usar o Cloud Storage para alojar recursos estáticos para um Website dinâmico alojado, por exemplo, no Google App Engine ou no Google Compute Engine. Algumas vantagens de alojar os seus recursos estáticos, como imagens ou ficheiros JavaScript, num contentor incluem:
O Cloud Storage funciona como uma rede de fornecimento de conteúdo (RFC), porque os objetos legíveis publicamente são colocados em cache na rede do Cloud Storage por predefinição.
Normalmente, os custos de largura de banda para aceder ao conteúdo são inferiores com o Cloud Storage.
A carga nos seus servidores Web é reduzida quando publica o conteúdo estático a partir do Cloud Storage.
Quando aloja recursos estáticos para um Website dinâmico, não precisa de criar registos de DNS e apontar para um contentor ou um equilibrador de carga, como faz para um Website estático. Por exemplo, pode ter um contentor denominado
www_example_com_assets
com os recursos adequados configurados como partilhados
publicamente e, em seguida, aceder a esses recursos através do domínio do Cloud Storage.
Por exemplo, suponhamos que tem o ficheiro JavaScript library.js
no contentor www_example_com_assets
que é partilhado publicamente. Pode aceder ao mesmo como http://storage.googleapis.com/www_example_com_assets/library.js
.
Defina parâmetros de cache
Pode controlar como ou se os recursos do seu Website são colocados em cache configurando os Cache-Control
metadados. Geralmente, só deve definir metadados de controlo da cache para objetos acessíveis a todos os utilizadores anónimos, o que é um requisito para qualquer objeto publicado a partir de um contentor do Cloud Storage como parte de um Website estático.
O Cloud Storage aplica uma definição de controlo da cache de 3600 segundos a objetos acessíveis a todos os utilizadores anónimos, a menos que especifique definições de controlo da cache explícitas. Consulte o artigo Ver e editar metadados para ver instruções sobre como definir metadados de objetos, como Cache-Control
.
Também pode usar o Cloud CDN para colocar em cache conteúdo com balanceamento de carga de HTTP(S) externo perto dos seus utilizadores, o que reduz frequentemente os custos de publicação. Para mais informações, consulte o artigo Colocação em cache.
Monitorize os seus encargos
Se estiver a publicar recursos a partir de um contentor configurado como um Website estático ou a publicar recursos estáticos a partir de um contentor para um Website dinâmico alojado fora do Cloud Storage, deve monitorizar os encargos no seu projeto que contém o contentor. A publicação de conteúdo incorre em custos do Cloud Storage para armazenar o conteúdo, usar a rede e realizar operações de obtenção. Para ver detalhes, consulte a página de preços do Cloud Storage.
Também pode incorrer em custos de rede se usar um balanceador de carga de aplicações externo para configurar o HTTPS. Consulte Preços da rede para mais detalhes.
O exemplo de preços simples na página de exemplos de preços pode ser usado como uma aproximação para o exemplo de utilização de um Website estático com pouco tráfego. No entanto, tenha em atenção que o exemplo não tem em conta os custos associados ao equilibrador de carga da aplicação externo, que podem ser frequentemente o custo mais elevado para o alojamento de Websites estáticos. Pode usar a calculadora de preços para gerar uma estimativa de custo com base na sua utilização projetada.
Se for um utilizador atual do Google Cloud , pode obter uma discriminação detalhada dos custos do seu projeto na página de faturação.
Resolução de problemas
Consulte a secção Resolução de problemas para ver problemas comuns associados à utilização de um contentor configurado para publicar conteúdo de Websites estáticos.
O que se segue?
- Experimente Google Cloud soluções de arranque rápido que usam o Cloud Storage.
- Saiba mais acerca de outras opções de publicação na Web no Google Cloud.
Experimente
Se está a usar o Google Cloud pela primeira vez, crie uma conta para avaliar o desempenho do Cloud Storage em cenários reais. Os novos clientes também recebem 300 USD em créditos gratuitos para executar, testar e implementar cargas de trabalho.
Experimentar o Cloud Storage gratuitamente