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 ad esempio script lato server come PHP.
Questo tutorial mostra come pubblicare contenuti su HTTP. Per un tutorial che utilizza HTTPS, vedi Hosting di 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:- Indirizza 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 sugli addebiti, consulta il suggerimento sul monitoraggio dei costi di archiviazione in caso di hosting di un sito web statico e consulta 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 è possibile registrare un nuovo dominio, come
Cloud Domains.
Questo tutorial utilizza il dominio
example.com
. - Verifica che
possiedi o gestisci il dominio che utilizzerai. Assicurati di avere
verificando il dominio di primo livello, ad esempio
example.com
, e non un comewww.example.com
.Nota: se sei il 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
attraverso il servizio di registrazione dei domini. Un record CNAME
è un tipo di DNS
record. Indirizza il traffico che richiede un URL dal tuo dominio alle risorse
da pubblicare, in questo caso gli oggetti dei bucket Cloud Storage.
Per www.example.com
, il record CNAME
potrebbe contenere quanto segue
informazioni:
NAME TYPE DATA www CNAME c.storage.googleapis.com.
Per ulteriori informazioni sui reindirizzamenti CNAME
, consulta l'articolo URI per l'aliasing di CNAME
.
Per connettere il tuo dominio a Cloud Storage:
Crea un record
CNAME
che rimandi ac.storage.googleapis.com.
.Il servizio di registrazione del dominio dovrebbe avere un modo per 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 corrisponde al 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.
, quindi 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 diversi strumenti, consulta Creare bucket.
Caricamento dei file del sito
Per aggiungere al bucket i file che devono essere pubblicati dal sito web:
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 del file, vai al file desiderato e selezionalo.
Al termine del caricamento, dovresti vedere il nome del file insieme al file le informazioni 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 ulteriori informazioni, consulta API Cloud Storage C++ documentazione di riferimento.
Per autenticarti a Cloud Storage, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
C#
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage C#.
Per autenticarti a Cloud Storage, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Go
Per ulteriori informazioni, consulta API Cloud Storage Go documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Per ulteriori informazioni, consulta API Cloud Storage Java documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Nel seguente esempio viene caricato un singolo oggetto:
Il seguente esempio carica più oggetti contemporaneamente:
Nel seguente esempio vengono caricati contemporaneamente tutti gli oggetti con un prefisso comune:
Node.js
Per ulteriori informazioni, consulta API Cloud Storage Node.js documentazione di riferimento.
Per autenticarti a Cloud Storage, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Il seguente esempio carica un singolo oggetto:
Il seguente esempio carica più oggetti contemporaneamente:
Nel seguente esempio vengono caricati contemporaneamente tutti gli oggetti con un prefisso comune:
PHP
Per ulteriori informazioni, consulta API Cloud Storage PHP documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per ulteriori informazioni, consulta API Cloud Storage Python documentazione di riferimento.
Per autenticarti a Cloud Storage, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Il seguente esempio carica un singolo oggetto:
Il seguente esempio carica più oggetti contemporaneamente:
Nel seguente esempio vengono caricati contemporaneamente tutti gli oggetti con un prefisso comune:
Ruby
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage Ruby.
Per autenticarti a Cloud Storage, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
API REST
API JSON
Avere gcloud CLI installato e inizializzato, per generare un token di accesso per l'intestazione
Authorization
.In alternativa, puoi creare un token di accesso utilizzando il metodo OAuth 2.0 Playground e includilo nell'intestazione
Authorization
.Utilizza
cURL
per chiamare l'API JSON con un RichiestaPOST
Oggetto. Per la pagina di 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 installato e inizializzato, per generare un token di accesso per l'intestazione
Authorization
.In alternativa, puoi creare un token di accesso utilizzando il metodo OAuth 2.0 Playground e includilo nell'intestazione
Authorization
.Utilizza
cURL
per chiamare l'API XML con un RichiestaPUT
Oggetto. Per la pagina di 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 di un bucket su internet pubblica:
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 pubblici.
Seleziona la scheda Autorizzazioni nella parte superiore della pagina.
Se nel riquadro Accesso pubblico vedi Non pubblico, fai clic sul pulsante con l'etichetta Rimuovi la prevenzione dell'accesso pubblico e fai clic su Conferma in la finestra di dialogo visualizzata.
Fai clic sulla add_box Pulsante 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 Cloud Storage. e fai clic sull'opzione Visualizzatore oggetti Storage.
Fai clic su Salva.
Fai clic su Consenti accesso pubblico.
Una volta condiviso pubblicamente, viene visualizzata un'icona di link per ogni oggetto pubblico d'accesso. 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 ulteriori informazioni, consulta API Cloud Storage C++ documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
C#
Per ulteriori informazioni, consulta API Cloud Storage C# documentazione di riferimento.
Per autenticarti a Cloud Storage, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Go
Per ulteriori informazioni, consulta API Cloud Storage Go documentazione di riferimento.
Per autenticarti a Cloud Storage, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage Java.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per ulteriori informazioni, consulta API Cloud Storage Node.js documentazione di riferimento.
Per autenticarti a Cloud Storage, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
PHP
Per ulteriori informazioni, consulta API Cloud Storage PHP documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Per ulteriori informazioni, consulta API Cloud Storage Python documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Ruby
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage Ruby.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
API REST
API JSON
Avere gcloud CLI installato e inizializzato, per generare un token di accesso per l'intestazione
Authorization
.In alternativa, puoi creare un token di accesso utilizzando OAuth 2.0 Playground e includerlo nell'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 un bucketPUT
richiesta: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 creato nel passaggio 2.BUCKET_NAME
è il nome del bucket di cui vuoi rendere pubblici gli oggetti. Ad esempio,my-bucket
.
API XML
La possibilità di rendere pubblicamente leggibili tutti gli oggetti di un bucket non è supportata
l'API XML. Utilizza invece la console Google Cloud o gcloud storage
.
Se vuoi, in alternativa puoi rendere accessibili pubblicamente parti del tuo bucket.
I visitatori ricevono un codice di risposta http 403
quando richiedono l'URL di una
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
.
Opzione consigliata: assegna pagine specializzate
Puoi assegnare un suffisso alla pagina di indice, controllato dalla proprietà MainPageSuffix
e una pagina di errore personalizzata, controllata dalla proprietà NotFoundPage
. L'assegnazione di una pagina è facoltativa, ma senza una pagina di indice non è possibile
pubblicati quando gli utenti accedono al sito di primo livello, ad esempio
http://www.example.com
. Per saperne di più, consulta la sezione Esempi di configurazione del sito web.
Nell'esempio seguente, MainPageSuffix
è impostato su index.html
e
NotFoundPage
impostato su 404.html
:
Console
- Nella console Google Cloud, vai alla pagina Bucket di Cloud Storage.
Nell'elenco dei bucket, individua il bucket che hai creato.
Fai clic sul menu Sovraccarico del bucket (more_vert) associato al bucket e seleziona Modifica configurazione del sito web.
Nella finestra di dialogo di configurazione del sito web, specifica la pagina principale e pagina di errore.
Fai clic su Salva.
Riga di comando
Utilizza il comando buckets update
con --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 ulteriori informazioni, consulta API Cloud Storage C++ documentazione di riferimento.
Per autenticarti a Cloud Storage, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
C#
Per ulteriori informazioni, consulta API Cloud Storage C# documentazione di riferimento.
Per autenticarti a Cloud Storage, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Go
Per ulteriori informazioni, consulta API Cloud Storage Go documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Per ulteriori informazioni, consulta API Cloud Storage Java documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per ulteriori informazioni, consulta API Cloud Storage Node.js documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
PHP
Per ulteriori informazioni, consulta API Cloud Storage PHP documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per ulteriori informazioni, consulta API Cloud Storage Python documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Ruby
Per ulteriori informazioni, consulta API Cloud Storage Ruby documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
API REST
API JSON
Avere installato e inizializzato gcloud CLI per generare un token di accesso per l'intestazione
Authorization
.In alternativa, puoi creare un token di accesso utilizzando il metodo OAuth 2.0 Playground e includilo nell'intestazione
Authorization
.Crea un file JSON che imposti
mainPageSuffix
e ProprietànotFoundPage
in un oggettowebsite
alle pagine desiderate:{ "website":{ "mainPageSuffix": "index.html", "notFoundPage": "404.html" } }
Utilizza
cURL
per chiamare l'API JSON con un Richiesta diPATCH
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 gcloud CLI installato e inizializzato, per generare un token di accesso per l'intestazione
Authorization
.In alternativa, puoi creare un token di accesso utilizzando il metodo OAuth 2.0 Playground e includilo nell'intestazione
Authorization
.Crea un file XML che imposti gli elementi
MainPageSuffix
eNotFoundPage
in un elementoWebsiteConfiguration
per le 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 eseguire la pulizia delle risorse che hai creato in modo che smettono di usare la quota e comportano addebiti. Le seguenti sezioni descrivono come eliminare o disattivare queste risorse.
Elimina il progetto
Il modo più semplice per eliminare la fatturazione 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
- Consulta esempi e suggerimenti sull'utilizzo dei bucket per ospitare un sito web statico.
- Visita la sezione relativa alla 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 di più su tutte le opzioni di pubblicazione sul web.
- Prova altri tutorial di Google Cloud che utilizzano Cloud Storage.