Como hospedar um site estático usando HTTP (original) (raw)
Como hospedar um site estático usando HTTP
Neste tutorial, descrevemos como configurar um bucket do Cloud Storage para hospedar um site estático de um domínio seu. As páginas da Web estáticas podem conter tecnologias de cliente, como HTML, CSS e JavaScript. Elas não podem conter conteúdo dinâmico (por exemplo, scripts do servidor) como PHP.
Neste tutorial, você verá como veicular conteúdo por HTTP. Para ver um tutorial que usa HTTPS, consulte Como hospedar um site estático.
Para exemplos e dicas sobre páginas da Web estáticas, incluindo como hospedar recursos estáticos para um site dinâmico, consulte Página do site estático.
Objetivos
Neste tutorial, você aprenderá a:
- apontar seu domínio para o Cloud Storage usando um registro
CNAME; - criar um bucket vinculado ao seu domínio;
- fazer o upload de arquivos do seu site e compartilhá-los;
- testar o site.
Custos
Neste tutorial, usamos o seguinte componente faturável do Google Cloud:
- Cloud Storage
Consulte as dicas na seção Como monitorar cobranças de armazenamento para mais detalhes sobre as cobranças ligadas à hospedagem de um site estático. Consulte a página Preços para mais detalhes sobre os custos do Cloud Storage.
Antes de começar
Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
- Create a project: To create a project, you need the Project Creator role (
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
Go to project selector
Verify that billing is enabled for your Google Cloud project.
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
- Create a project: To create a project, you need the Project Creator role (
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
Go to project selector
Verify that billing is enabled for your Google Cloud project.
Tenha um domínio próprio ou que você gerencia. Se você não tiver um domínio, há muitos serviços pelos quais você pode registrar um novo domínio, como Cloud Domains.
Este tutorial usa o domínioexample.com.Confirme que você é proprietário ou administrador do domínio que será usado. Certifique-se de estar verificando o domínio de nível mais alto, como
example.com, e não um subdomínio, comowww.example.com.
Observação: se você é proprietário do domínio que está associando a um bucket, talvez já tenha realizado esta etapa anteriormente. Se você comprou seu domínio pelo Cloud Domains, a confirmação será automática.
Como conectar seu domínio ao Cloud Storage
Para conectar seu domínio ao Cloud Storage, crie um registro de CNAMEpor meio do serviço de registro de domínio. Um registro CNAME é um tipo de registro DNS. Ele direciona o tráfego que solicita um URL do seu domínio para os recursos que você quer disponibilizar. Nesse caso, objetos nos seus buckets do Cloud Storage. Para www.example.com, o registro CNAME pode conter as seguintes informações:
NAME TYPE DATA www CNAME c.storage.googleapis.com.
Para ver mais informações sobre redirecionamentos de CNAME, consulte a URI para alias de CNAME.
Para conectar seu domínio ao Cloud Storage:
- Crie um registro
CNAMEque aponta parac.storage.googleapis.com..
Seu serviço de registro precisa permitir que você administre seu domínio, inclusive para adicionar um registroCNAME. Por exemplo, se você usa o Cloud DNS, as instruções para adicionar registros de recurso podem ser encontradas na página Adicionar, modificar e excluir registros.
Como criar um bucket
Crie um bucket com o nome que corresponde ao CNAME criado para o domínio.
Por exemplo, se você adicionou um registro CNAME que aponta do subdomínio www de example.compara c.storage.googleapis.com., o comando da CLI do Google Cloud para criar um bucket com o nome www.example.com será semelhante ao seguinte:
gcloud storage buckets create gs://www.example.com --location=US
Para instruções completas sobre como criar buckets com ferramentas diferentes, consulteCriar buckets.
Como fazer o upload dos arquivos do seu site
Para adicionar ao bucket os arquivos que você quer que sejam disponibilizados pelo seu site:
Console
- No console do Google Cloud , acesse a página Buckets do Cloud Storage.
Acessar buckets - Na lista de buckets, clique no nome do bucket que você criou.
- Clique no botão Fazer o upload dos arquivos na guia Objetos
- Na caixa de diálogo de arquivos, procure e selecione o arquivo pretendido.
Após a conclusão do upload, você verá o nome do arquivo com as informações do arquivo exibidas no bucket.
Linha de comando
Use o comando gcloud storage cp para copiar arquivos para o bucket. Por exemplo, para copiar o arquivo index.html do local atualDesktop:
gcloud storage cp Desktop/index.html gs://www.example.com
Se funcionar, a resposta será parecida com esta:
Completed files 1/1 | 164.3kiB/164.3kiB
Bibliotecas de cliente
C++
Para mais informações, consulte a documentação de referência da API Cloud Storage C++.
Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.
C#
Saiba mais na documentação de referência C# da API Cloud Storage.
Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.
Go
Saiba mais na documentação de referência Go da API Cloud Storage.
Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.
Java
Saiba mais na documentação de referência Java da API Cloud Storage.
Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.
No exemplo a seguir, é feito o upload de um objeto individual:
O exemplo a seguir faz upload de vários objetos simultaneamente:
No exemplo a seguir, todos os objetos com um prefixo comum são enviados simultaneamente:
Node.js
Saiba mais na documentação de referência Node.js da API Cloud Storage.
Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.
No exemplo a seguir, é feito o upload de um objeto individual:
O exemplo a seguir faz upload de vários objetos simultaneamente:
No exemplo a seguir, todos os objetos com um prefixo comum são enviados simultaneamente:
PHP
Saiba mais na documentação de referência PHP da API Cloud Storage.
Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.
Python
Saiba mais na documentação de referência Python da API Cloud Storage.
Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.
No exemplo a seguir, é feito o upload de um objeto individual:
O exemplo a seguir faz upload de vários objetos simultaneamente:
No exemplo a seguir, todos os objetos com um prefixo comum são enviados simultaneamente:
Ruby
Saiba mais na documentação de referência Ruby da API Cloud Storage.
Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.
APIs REST
API JSON
- Ter CLI gcloud instalada e inicializada, o que permite gerar um token de acesso para o cabeçalho
Authorization. - Use cURL para chamar a API JSON com uma solicitação de objeto POST. No caso da página de índice de www.example.com:
curl -X POST --data-binary @index.html \
-H "Content-Type: text/html" \
-H "Authorization: $(gcloud auth print-access-token)" \
"https://storage.googleapis.com/upload/storage/v1/b/www.example.com/o?uploadType=media&name=index.html"
API XML
- Ter CLI gcloud instalada e inicializada, o que permite gerar um token de acesso para o cabeçalho
Authorization. - Use cURL para chamar a API XML com uma solicitação de objeto PUT. No caso da página de índice de www.example.com:
curl -X PUT --data-binary @index.html \
-H "Authorization: $(gcloud auth print-access-token)" \
-H "Content-Type: text/html" \
"https://storage.googleapis.com/www.example.com/index.html"
Como compartilhar arquivos
Para ativar a leitura de todos os objetos em um bucket para todos os usuários da Internet pública, siga estas etapas:
Console
- No console do Google Cloud , acesse a página Buckets do Cloud Storage.
Acessar buckets - Na lista de buckets, clique no nome do bucket que você quer tornar público.
- Selecione a guia Permissões na parte superior da página.
- Se o painel Acesso público for Não público, clique no botãoRemover a prevenção do acesso público e clique em Confirmar na caixa de diálogo exibida.
- Clique no botão Permitir acesso.
A caixa de diálogo Adicionar participantes é exibida. - No campo Novos participantes, insira
allUsers. - No campo Selecionar uma função, selecione o submenu Cloud Storage e clique na opção Leitor de objetos do Storage.
- Clique em Salvar.
- Clique em Permitir acesso público.
Depois que o intervalo for compartilhado publicamente, aparecerá um ícone de link para cada objeto na coluna de acesso público. Clique nesse ícone para ver o URL do objeto.
Linha de comando
Use o comando buckets add-iam-policy-binding:
gcloud storage buckets add-iam-policy-binding gs://www.example.com --member=allUsers --role=roles/storage.objectViewer
Bibliotecas de cliente
APIs REST
API JSON
- Ter CLI gcloud instalada e inicializada, o que permite gerar um token de acesso para o cabeçalho
Authorization. - Crie um arquivo JSON com as informações a seguir:
{
"bindings":[
{
"role": "roles/storage.objectViewer",
"members":["allUsers"]
}
]
} - Use cURL para chamar a API JSON com uma solicitação de bucket PUT:
curl -X PUT --data-binary @JSON_FILE_NAME \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
"https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/iam"
Em que:JSON_FILE_NAMEé o caminho para o arquivo JSON criado na Etapa 2.BUCKET_NAMEé o nome do bucket que contém os objetos que você quer tornar públicos. Por exemplo,my-bucket.
API XML
Não é possível ativar a leitura pública de todos os objetos em um bucket com a API XML. Use o console Google Cloud ou o gcloud storage.
Se quiser, você também podetornar partes do bucket acessíveis publicamente.
Os visitantes recebem um código de resposta http 403 ao solicitar o URL de um arquivo não público ou inexistente. Consulte a próxima seção para obter informações sobre como adicionar uma página de erro que usa um http 404 código de resposta.
Recomendado: como atribuir páginas especiais
Você pode atribuir um sufixo de página de índice, que é controlado pela propriedade MainPageSuffixe por uma página de erro personalizada, que é controlada pela propriedade NotFoundPage. Atribuir um desses é opcional, mas sem uma página de índice, nada é exibido quando os usuários acessam seu site de nível superior, por exemplo, http://www.example.com. Para mais informações, consulte Exemplos de configuração de sites.
No exemplo a seguir, o MainPageSuffix está definido como index.html eNotFoundPage está definido como 404.html:
Como testar o site
Solicite o nome do domínio em um navegador para verificar se o conteúdo é disponibilizado pelo bucket. Você pode fazer isso com um caminho para um objeto ou apenas com o nome de domínio, se definir a propriedade de MainPageSuffix.
Por exemplo, se você tiver um objeto denominado test.html armazenado em um bucket denominado www.example.com, verifique se ele está acessível indo para www.example.com/test.html no seu navegador.
Limpeza
Depois de concluir o tutorial, você pode limpar os recursos que criou para que eles parem de usar a cota e gerar cobranças. Nas seções a seguir, você aprenderá a excluir e desativar esses recursos.
Excluir o projeto
O jeito mais fácil de evitar cobranças é excluindo o projeto que você criou para o tutorial.
Para excluir o projeto:
- In the Google Cloud console, go to the Manage resources page.
Go to Manage resources - In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then clickShut down to delete the project.
A seguir
- Veja exemplos e dicas para usar buckets para hospedar um site estático.
- Visite a seção de solução de problemas para hospedar um site estático.
- Saiba mais sobre hospedagem de recursos estáticos em um site dinâmico.
- Saiba mais sobre todas as opções de disponibilização na Web.
- Teste Google Cloud soluções de início rápido que usam o Cloud Storage.
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
Última atualização 2025-12-15 UTC.