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 durante l'hosting di 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
- Accedi al tuo account Google Cloud . Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti senza costi per l'esecuzione, il test e il deployment dei carichi di lavoro.
-
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.
-
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.
-
Verify 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'aliasing CNAME.
Per connettere il dominio a Cloud Storage:
Crea un record
CNAMEche punti ac.storage.googleapis.com..Il 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 Aggiungi, modifica ed elimina 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, vai al 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 attuale
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 saperne di più, 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 Configura l'autenticazione per le librerie client.
C#
Per saperne di più, 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 Configura l'autenticazione per le librerie client.
Go
Per saperne di più, 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 Configura l'autenticazione per le librerie client.
Java
Per saperne di più, 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 Configura 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 saperne di più, 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 Configura 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 saperne di più, 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 Configura l'autenticazione per le librerie client.
Python
Per saperne di più, 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 Configura 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 saperne di più, 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 Configura l'autenticazione per le librerie client.
Rust
API REST
API JSON
Avere gcloud CLI installata e inizializzata, il che ti consente di generare un token di accesso per l'intestazione
Authorization.Utilizza
cURLper chiamare l'API JSON con una richiestaPOSTObject. 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 gcloud CLI installata e inizializzata, il che ti consente di generare un token di accesso per l'intestazione
Authorization.Utilizza
cURLper chiamare l'API XML con una richiestaPUTObject. 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 saperne di più, 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 Configura l'autenticazione per le librerie client.
C#
Per saperne di più, 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 Configura l'autenticazione per le librerie client.
Go
Per saperne di più, 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 Configura l'autenticazione per le librerie client.
Java
Per saperne di più, 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 Configura l'autenticazione per le librerie client.
Node.js
Per saperne di più, 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 Configura l'autenticazione per le librerie client.
PHP
Per saperne di più, 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 Configura l'autenticazione per le librerie client.
Python
Per saperne di più, 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 Configura l'autenticazione per le librerie client.
Ruby
Per saperne di più, 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 Configura l'autenticazione per le librerie client.
Rust
API REST
API JSON
Avere gcloud CLI installata e inizializzata, il 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
cURLper chiamare l'API JSON con una richiestaPUTBucket: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 funzionalità per rendere pubblicamente leggibili 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 accessibili pubblicamente 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 saperne di più, 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 Configura l'autenticazione per le librerie client.
C#
Per saperne di più, 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 Configura l'autenticazione per le librerie client.
Go
Per saperne di più, 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 Configura l'autenticazione per le librerie client.
Java
Per saperne di più, 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 Configura l'autenticazione per le librerie client.
Node.js
Per saperne di più, 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 Configura l'autenticazione per le librerie client.
PHP
Per saperne di più, 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 Configura l'autenticazione per le librerie client.
Python
Per saperne di più, 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 Configura l'autenticazione per le librerie client.
Ruby
Per saperne di più, 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 Configura l'autenticazione per le librerie client.