Questo tutorial descrive come configurare un bucket Cloud Storage per ospitare un sito web statico per un dominio di tua proprietà. Le pagine web statiche possono contenere tecnologie lato client come HTML, CSS e JavaScript. Non possono contenere contenuti dinamici come script lato server come PHP.
Questo tutorial mostra come pubblicare contenuti tramite HTTP. Per un tutorial che utilizza HTTPS, vedi Ospitare un sito web statico.
Per esempi e suggerimenti sulle pagine web statiche, incluso come ospitare asset statici per un sito web dinamico, consulta la pagina Sito web statico.
Obiettivi
In questo tutorial, imparerai a:- Punta il tuo dominio a Cloud Storage utilizzando un record
CNAME
. - Crea un bucket collegato al tuo dominio.
- Carica e condividi i file del tuo sito.
- Testa il sito web.
Costi
Questo tutorial utilizza il seguente componente fatturabile di Google Cloud:
- Cloud Storage
Per informazioni dettagliate sulle tariffe che potrebbero essere addebitate quando ospiti un sito web statico, consulta il suggerimento Monitoraggio degli addebiti per l'archiviazione e la pagina Prezzi per informazioni dettagliate sui costi di Cloud Storage.
Prima di iniziare
- 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.
-
Make sure 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.
-
Make sure that billing is enabled for your Google Cloud project.
- Avere un dominio di tua proprietà o che gestisci. Se non hai un dominio esistente,
esistono molti servizi tramite i quali puoi registrare un nuovo dominio, ad esempio
Cloud Domains.
Questo tutorial utilizza il dominio
example.com
. - Verifica di essere proprietario o amministratore del dominio che utilizzerai. Assicurati di
verificare il dominio di primo livello, ad esempio
example.com
, e non un sottodominio, ad esempiowww.example.com
.Nota: se sei proprietario del dominio che stai associando a un bucket, potresti aver già eseguito questo passaggio in passato. Se hai acquistato il dominio tramite Cloud Domains, la verifica è automatica.
Connessione del dominio a Cloud Storage
Per connettere il tuo dominio a Cloud Storage, crea un record CNAME
tramite il servizio di registrazione del dominio. Un record CNAME
è un tipo di record DNS. indirizza il traffico che richiede un URL dal tuo dominio alle risorse
che vuoi pubblicare, in questo caso gli oggetti nei tuoi bucket Cloud Storage.
Per www.example.com
, il record CNAME
potrebbe contenere le seguenti
informazioni:
NAME TYPE DATA www CNAME c.storage.googleapis.com.
Per ulteriori informazioni sui reindirizzamenti CNAME
, consulta URI per l'assegnazione di alias CNAME
.
Per connettere il dominio a Cloud Storage:
Crea un record
CNAME
che rimandi ac.storage.googleapis.com.
.Il tuo servizio di registrazione del dominio dovrebbe consentirti di amministrare il tuo dominio, inclusa l'aggiunta di un record
CNAME
. Ad esempio, se utilizzi Cloud DNS, le istruzioni per aggiungere record di risorse sono disponibili nella pagina Aggiungere, modificare ed eliminare record.
Creazione di un bucket
Crea un bucket il cui nome corrisponda a CNAME
che hai creato per il tuo dominio.
Ad esempio, se hai aggiunto un record CNAME
che punta dal sottodominio www
di
example.com
a c.storage.googleapis.com.
, il comando Google Cloud CLI per creare
un bucket con il nome www.example.com
sarà simile al seguente:
gcloud storage buckets create gs://www.example.com --location=US
Per istruzioni complete sulla creazione di bucket con strumenti diversi, consulta Crea bucket.
Caricamento dei file del sito
Per aggiungere al bucket i file che vuoi che il tuo sito web pubblichi:
Console
- Nella console Google Cloud , vai alla pagina Bucket in Cloud Storage.
Nell'elenco dei bucket, fai clic sul nome del bucket che hai creato.
Fai clic sul pulsante Carica file nella scheda Oggetti.
Nella finestra di dialogo dei file, individua il file che ti interessa e selezionalo.
Al termine del caricamento, dovresti vedere il nome e le informazioni relative al file visualizzate nel bucket.
Riga di comando
Utilizza il comando gcloud storage cp
per copiare i file nel bucket.
Ad esempio, per copiare il file index.html
dalla sua posizione corrente
Desktop
:
gcloud storage cp Desktop/index.html gs://www.example.com
Se l'operazione ha esito positivo, la risposta è simile al seguente esempio:
Completed files 1/1 | 164.3kiB/164.3kiB
Librerie client
C++
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Cloud Storage C++.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configurare l'autenticazione per le librerie client.
C#
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Cloud Storage C#.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configurare l'autenticazione per le librerie client.
Go
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Cloud Storage Go.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configurare l'autenticazione per le librerie client.
Java
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Cloud Storage Java.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configurare l'autenticazione per le librerie client.
Il seguente esempio carica un singolo oggetto:
Il seguente esempio carica più oggetti contemporaneamente:
Il seguente esempio carica contemporaneamente tutti gli oggetti con un prefisso comune:
Node.js
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Cloud Storage Node.js.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configurare l'autenticazione per le librerie client.
Il seguente esempio carica un singolo oggetto:
Il seguente esempio carica più oggetti contemporaneamente:
Il seguente esempio carica contemporaneamente tutti gli oggetti con un prefisso comune:
PHP
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Cloud Storage PHP.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configurare l'autenticazione per le librerie client.
Python
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Cloud Storage Python.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configurare l'autenticazione per le librerie client.
Il seguente esempio carica un singolo oggetto:
Il seguente esempio carica più oggetti contemporaneamente:
Il seguente esempio carica contemporaneamente tutti gli oggetti con un prefisso comune:
Ruby
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Cloud Storage Ruby.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configurare l'autenticazione per le librerie client.
API REST
API JSON
Avere la gcloud CLI installata e inizializzata, che ti consente di generare un token di accesso per l'intestazione
Authorization
.Utilizza
cURL
per chiamare l'API JSON con una richiestaPOST
Object. Per la pagina indice di 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
Avere la gcloud CLI installata e inizializzata, che ti consente di generare un token di accesso per l'intestazione
Authorization
.Utilizza
cURL
per chiamare l'API XML con una richiestaPUT
Object. Per la pagina indice di 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"
Condividere i file
Per rendere leggibili tutti gli oggetti in un bucket da parte di chiunque su internet:
Console
- Nella console Google Cloud , vai alla pagina Bucket in Cloud Storage.
Nell'elenco dei bucket, fai clic sul nome del bucket che vuoi rendere pubblico.
Seleziona la scheda Autorizzazioni nella parte superiore della pagina.
Se nel riquadro Accesso pubblico è visualizzato il messaggio Non pubblico, fai clic sul pulsante Rimuovi la prevenzione dell'accesso pubblico e poi su Conferma nella finestra di dialogo visualizzata.
Fai clic sul pulsante add_box Concedi l'accesso.
Viene visualizzata la finestra di dialogo Aggiungi entità.
Nel campo Nuove entità, inserisci
allUsers
.Nel menu a discesa Seleziona un ruolo, seleziona il sottomenu Cloud Storage e fai clic sull'opzione Visualizzatore oggetti Storage.
Fai clic su Salva.
Fai clic su Consenti accesso pubblico.
Dopo la condivisione pubblica, nella colonna Accesso pubblico viene visualizzata un'icona link per ogni oggetto. Puoi fare clic su questa icona per ottenere l'URL dell'oggetto.
Riga di comando
Utilizza il comando buckets add-iam-policy-binding
:
gcloud storage buckets add-iam-policy-binding gs://www.example.com --member=allUsers --role=roles/storage.objectViewer
Librerie client
C++
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Cloud Storage C++.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configurare l'autenticazione per le librerie client.
C#
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Cloud Storage C#.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configurare l'autenticazione per le librerie client.
Go
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Cloud Storage Go.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configurare l'autenticazione per le librerie client.
Java
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Cloud Storage Java.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configurare l'autenticazione per le librerie client.
Node.js
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Cloud Storage Node.js.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configurare l'autenticazione per le librerie client.
PHP
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Cloud Storage PHP.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configurare l'autenticazione per le librerie client.
Python
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Cloud Storage Python.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configurare l'autenticazione per le librerie client.
Ruby
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Cloud Storage Ruby.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configurare l'autenticazione per le librerie client.
API REST
API JSON
Avere la gcloud CLI installata e inizializzata, che ti consente di generare un token di accesso per l'intestazione
Authorization
.Crea un file JSON contenente le seguenti informazioni:
{ "bindings":[ { "role": "roles/storage.objectViewer", "members":["allUsers"] } ] }
Utilizza
cURL
per chiamare l'API JSON con una richiestaPUT
Bucket: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"
Dove:
JSON_FILE_NAME
è il percorso del file JSON che hai creato nel passaggio 2.BUCKET_NAME
è il nome del bucket i cui oggetti vuoi rendere pubblici. Ad esempio,my-bucket
.
API XML
La lettura pubblica di tutti gli oggetti in un bucket non è supportata dall'API XML. Utilizza invece la console Google Cloud o gcloud storage
.
Se vuoi, puoi in alternativa rendere pubblicamente accessibili alcune parti del bucket.
I visitatori ricevono un codice di risposta http 403
quando richiedono l'URL di un file non pubblico o inesistente. Consulta la sezione successiva per informazioni su come
aggiungere una pagina di errore che utilizza un codice di risposta http 404
.
Consigliato: assegnazione di pagine specializzate
Puoi assegnare un suffisso alla pagina indice, controllato dalla proprietà MainPageSuffix
, e una pagina di errore personalizzata, controllata dalla proprietà NotFoundPage
. L'assegnazione di uno dei due è facoltativa, ma senza una pagina indice, non viene
visualizzato nulla quando gli utenti accedono al tuo sito di primo livello, ad esempio
http://www.example.com
. Per saperne di più, consulta Esempi di configurazione di siti web.
Nel seguente esempio, MainPageSuffix
è impostato su index.html
e
NotFoundPage
è impostato su 404.html
:
Console
- Nella console Google Cloud , vai alla pagina Bucket in Cloud Storage.
Nell'elenco di bucket, individua quello che hai creato.
Fai clic sul menu Overflow bucket (more_vert) associato al bucket e seleziona Modifica configurazione sito web.
Nella finestra di dialogo di configurazione del sito web, specifica la pagina principale e la pagina di errore.
Fai clic su Salva.
Riga di comando
Utilizza il comando buckets update
con i flag --web-main-page-suffix
e --web-error-page
:
gcloud storage buckets update gs://www.example.com --web-main-page-suffix=index.html --web-error-page=404.html
In caso di esito positivo, il comando restituisce:
Updating gs://www.example.com/... Completed 1
Librerie client
C++
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Cloud Storage C++.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configurare l'autenticazione per le librerie client.
C#
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Cloud Storage C#.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configurare l'autenticazione per le librerie client.
Go
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Cloud Storage Go.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configurare l'autenticazione per le librerie client.
Java
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Cloud Storage Java.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configurare l'autenticazione per le librerie client.
Node.js
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Cloud Storage Node.js.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configurare l'autenticazione per le librerie client.
PHP
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Cloud Storage PHP.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configurare l'autenticazione per le librerie client.
Python
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Cloud Storage Python.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configurare l'autenticazione per le librerie client.
Ruby
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Cloud Storage Ruby.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configurare l'autenticazione per le librerie client.
API REST
API JSON
Avere la gcloud CLI installata e inizializzata, che ti consente di generare un token di accesso per l'intestazione
Authorization
.Crea un file JSON che imposta le proprietà
mainPageSuffix
enotFoundPage
in un oggettowebsite
sulle pagine desiderate:{ "website":{ "mainPageSuffix": "index.html", "notFoundPage": "404.html" } }
Utilizza
cURL
per chiamare l'API JSON con una richiestaPATCH
Bucket. Per www.example.com:curl -X PATCH --data-binary @web-config.json \ -H "Authorization: $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/www.example.com"
API XML
Avere la gcloud CLI installata e inizializzata, che ti consente di generare un token di accesso per l'intestazione
Authorization
.Crea un file XML che imposti gli elementi
MainPageSuffix
eNotFoundPage
in un elementoWebsiteConfiguration
sulle pagine che ti interessano:<WebsiteConfiguration> <MainPageSuffix>index.html</MainPageSuffix> <NotFoundPage>404.html</NotFoundPage> </WebsiteConfiguration>
Utilizza
cURL
per chiamare l'API XML con una richiestaPUT
Bucket e il parametro della stringa di querywebsiteConfig
. Per www.example.com:curl -X PUT --data-binary @web-config.xml \ -H "Authorization: $(gcloud auth print-access-token)" \ https://storage.googleapis.com/www.example.com?websiteConfig
Test del sito web
Verifica che i contenuti vengano pubblicati dal bucket richiedendo il nome di dominio in un browser. Puoi farlo con un percorso a un oggetto o solo con il nome di dominio,
se imposti la proprietà MainPageSuffix
.
Ad esempio, se hai un oggetto denominato test.html
archiviato in un bucket denominato
www.example.com
, verifica che sia accessibile andando su
www.example.com/test.html
nel browser.
Esegui la pulizia
Al termine del tutorial, puoi liberare spazio eliminando le risorse che hai creato in modo che non utilizzino più la quota e non generino addebiti. Le seguenti sezioni descrivono come eliminare o disattivare queste risorse.
Eliminazione del progetto
Il modo più semplice per eliminare la fatturazione è quello di eliminare il progetto creato per il tutorial.
Per eliminare il progetto:
- In the Google Cloud console, go to the Manage resources page.
- 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 click Shut down to delete the project.
Passaggi successivi
- Visualizza esempi e suggerimenti per l'utilizzo dei bucket per ospitare un sito web statico.
- Visita la sezione per la risoluzione dei problemi relativi all'hosting di un sito web statico.
- Scopri di più sull'hosting di asset statici per un sito web dinamico.
- Scopri tutte le opzioni di pubblicazione web.
- Prova le Google Cloud soluzioni di avvio rapido che utilizzano Cloud Storage.