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 includere contenuti dinamici, come script lato server come PHP.
Poiché Cloud Storage non supporta autonomamente i domini personalizzati con HTTPS, questo tutorial utilizza Cloud Storage con un bilanciatore del carico delle applicazioni esterno per gestire i contenuti di un dominio personalizzato tramite HTTPS. Per ulteriori modi di pubblicare contenuti da un dominio personalizzato tramite HTTPS, consulta la risoluzione dei problemi relativi alla pubblicazione tramite HTTPS. Puoi anche utilizzare Cloud Storage per distribuire contenuti di dominio personalizzati su HTTP, che non richiede un bilanciatore del carico.
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
Questo tutorial illustra come:- Creare un bucket.
- Carica e condividi i file del tuo sito.
- Configurare un bilanciatore del carico e un certificato SSL.
- Connetti il bilanciatore del carico al tuo bucket.
- Punta il dominio al bilanciatore del carico utilizzando un record
A
. - Testa il sito web.
Costi
Questo tutorial utilizza i seguenti componenti fatturabili di Google Cloud:
Per informazioni dettagliate sui costi che possono essere addebitati in caso di hosting di un sito web statico, consulta il suggerimento Monitoraggio degli addebiti.
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 gratuiti 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.
-
Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.
- Abilita l'API Compute Engine per il tuo progetto.
- Avere i seguenti ruoli di Identity and Access Management: Storage Admin e Amministratore rete Compute.
- Avere un dominio di tua proprietà o che gestisci. Se non hai già un dominio, esistono molti servizi tramite i quali puoi registrare un nuovo dominio, ad esempio Cloud Domains.
Questo tutorial utilizza il dominio
example.com
. - Devi pubblicare alcuni file del sito web. Questo tutorial funziona meglio se hai almeno una pagina di indice (
index.html
) e una pagina 404 (404.html
). - (Facoltativo) Se vuoi che il bucket Cloud Storage abbia lo stesso nome del tuo dominio, devi verificare di essere il proprietario o il gestore del dominio che utilizzerai. Assicurati di verificare il dominio di primo livello, ad esempio
example.com
, e non un sottodominio, ad esempiowww.example.com
. Se hai acquistato il tuo dominio tramite Cloud Domains, la verifica è automatica.
Crea un bucket
Per creare un bucket:
Console
- Nella console Google Cloud, vai alla pagina Bucket di Cloud Storage.
- Fai clic su + Crea.
- Nella pagina Crea un bucket, inserisci le informazioni sul bucket. Per andare al passaggio successivo, fai clic su Continua.
- In Assegna un nome al bucket, inserisci un nome che soddisfi i requisiti per i nomi dei bucket.
- Per Scegli dove archiviare i tuoi dati, seleziona un Tipo di località e una Località in cui verranno archiviati definitivamente i dati del bucket.
- Per Scegli una classe di archiviazione per i tuoi dati, seleziona una classe di archiviazione predefinita per il bucket oppure seleziona Autoclass per la gestione automatica della classe di archiviazione dei dati del bucket.
Nota:il riquadro Stima dei costi mensili nel riquadro a destra stima i costi mensili del bucket in base alla classe e alla località di archiviazione selezionate, nonché alle dimensioni e alle operazioni previste dei dati.
- Per Scegli come controllare l'accesso agli oggetti, scegli se il tuo bucket applica o meno la prevenzione dell'accesso pubblico e seleziona un modello di controllo dell'accesso per gli oggetti del tuo bucket.
Nota:se la prevenzione dell'accesso pubblico è già applicata dal criterio dell'organizzazione del tuo progetto, l'opzione Impedisci accesso pubblico è bloccata.
- Per Scegli come proteggere i dati degli oggetti, configura gli Strumenti di protezione se vuoi e seleziona un metodo di crittografia dei dati.
- Fai clic su Crea.
Per scoprire come ottenere informazioni dettagliate sugli errori relativi alle operazioni Cloud Storage non riuscite nella console Google Cloud, consulta la pagina Risoluzione dei problemi.
Riga di comando
-
Nella console Google Cloud, attiva Cloud Shell.
Nella parte inferiore della console Google Cloud viene avviata una sessione di Cloud Shell che mostra un prompt della riga di comando. Cloud Shell è un ambiente shell con Google Cloud CLI già installato e con valori già impostati per il progetto attuale. L'inizializzazione della sessione può richiedere alcuni secondi.
-
Nell'ambiente di sviluppo, esegui il comando
gcloud storage buckets create
:gcloud storage buckets create gs://BUCKET_NAME --location=BUCKET_LOCATION
Dove:
BUCKET_NAME
è il nome che vuoi assegnare al bucket, soggetto ai requisiti di denominazione. Ad esempio,my-bucket
.BUCKET_LOCATION
è la località del tuo bucket. Ad esempio:us-east1
.
Se la richiesta ha esito positivo, il comando restituisce il seguente messaggio:
Creating gs://BUCKET_NAME/...
Imposta i seguenti flag per avere un maggiore controllo sulla creazione del bucket:
--project
: specifica l'ID o il numero di progetto a cui verrà associato il bucket. Ad esempio,my-project
.--default-storage-class
: specifica la classe di archiviazione predefinita del tuo bucket. Ad esempio:STANDARD
.--soft-delete-duration
: specifica la durata di conservazione dell'eliminazione temporanea del bucket. Ad esempio:2w1d
.--uniform-bucket-level-access
: abilita l'accesso uniforme a livello di bucket per il tuo bucket.
Per un elenco completo delle opzioni per la creazione dei bucket con gcloud, consulta le opzioni
buckets create
.Ad esempio:
gcloud storage buckets create gs://BUCKET_NAME --project=PROJECT_ID --default-storage-class=STORAGE_CLASS --location=BUCKET_LOCATION --uniform-bucket-level-access
Librerie client
C++
Per ulteriori informazioni, consulta la documentazione di riferimento dell'API C++ di Cloud Storage.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
C#
Per ulteriori informazioni, consulta la documentazione di riferimento dell'API C# di Cloud Storage.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Go
Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Go di Cloud Storage.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Java
Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Java di Cloud Storage.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Node.js di Cloud Storage.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
PHP
Per ulteriori informazioni, consulta la documentazione di riferimento dell'API PHP di Cloud Storage.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Python di Cloud Storage.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Ruby
Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Ruby di Cloud Storage.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Terraform
Puoi utilizzare una risorsa Terraform per creare un bucket di archiviazione.
L'esempio seguente include l'assegnazione di un suffisso della pagina indice e di una pagina di errore personalizzata. Per ulteriori informazioni, consulta la sezione Assegnare pagine speciali.
API REST
API JSON
Installa e inizializzatogcloud CLI 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 impostazioni per il bucket, che deve includere un
name
per il bucket. Per un elenco completo delle impostazioni, consulta la documentazione Buckets:Insert. Di seguito sono riportate alcune impostazioni comuni da includere: BUCKET_NAME
è il nome che vuoi assegnare al bucket, in conformità ai requisiti di denominazione. Ad esempio:my-bucket
.BUCKET_LOCATION
è la località in cui vuoi archiviare i dati dell'oggetto del bucket. Ad esempio:US-EAST1
.STORAGE_CLASS
è la classe di archiviazione predefinita del tuo bucket. Ad esempio:STANDARD
.- Utilizza
cURL
per chiamare l'API JSON:curl -X POST --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?project=PROJECT_IDENTIFIER"
Dove:
JSON_FILE_NAME
è il nome del file JSON che hai creato nel passaggio 2.PROJECT_IDENTIFIER
è l'ID o il numero del progetto a cui verrà associato il bucket. Ad esempio,my-project
.
{ "name": "BUCKET_NAME", "location": "BUCKET_LOCATION", "storageClass": "STORAGE_CLASS", "iamConfiguration": { "uniformBucketLevelAccess": { "enabled": true }, } }
Dove:
API XML
Installa e inizializzatogcloud CLI 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 XML che contenga le impostazioni del bucket. Consulta la documentazione XML: Create a bucket per un elenco completo delle impostazioni. Di seguito sono riportate alcune impostazioni comuni da includere:
BUCKET_LOCATION
è la località in cui vuoi archiviare i dati dell'oggetto del bucket. Ad esempio:US-EAST1
.STORAGE_CLASS
è la classe di archiviazione predefinita del tuo bucket. Ad esempio:STANDARD
.- Utilizza
cURL
per chiamare l'API XML:curl -X PUT --data-binary @XML_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "x-goog-project-id: PROJECT_ID" \ "https://storage.googleapis.com/BUCKET_NAME"
Dove:
XML_FILE_NAME
è il nome del file XML che hai creato nel passaggio 2.PROJECT_ID
è l'ID del progetto a cui verrà associato il bucket. Ad esempio,my-project
.BUCKET_NAME
è il nome che vuoi assegnare al bucket, soggetto ai requisiti di denominazione. Ad esempio:my-bucket
.
<CreateBucketConfiguration> <LocationConstraint>BUCKET_LOCATION</LocationConstraint> <StorageClass>STORAGE_CLASS</StorageClass> </CreateBucketConfiguration>
Dove:
Carica i file del tuo sito
Aggiungi al bucket i file che il tuo sito web deve pubblicare:
Console
- Nella console Google Cloud, vai alla pagina Bucket di Cloud Storage.
Nell'elenco dei bucket, fai clic sul nome del bucket che hai creato.
Si apre la pagina Dettagli bucket con la scheda Oggetti selezionata.
Fai clic sul pulsante Carica file.
Nella finestra di dialogo del file, vai al file desiderato e selezionalo.
Al termine del caricamento, dovresti vedere il nome e le informazioni del file nel bucket.
Per scoprire come ottenere informazioni dettagliate sugli errori relativi alle operazioni Cloud Storage non riuscite nella console Google Cloud, consulta la pagina Risoluzione dei problemi.
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
nel bucket my-static-assets
:
gcloud storage cp Desktop/index.html gs://my-static-assets
Se l'esito è positivo, la risposta è simile al seguente esempio:
Completed files 1/1 | 164.3kiB/164.3kiB
Librerie client
C++
Per ulteriori informazioni, consulta la documentazione di riferimento dell'API C++ di Cloud Storage.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
C#
Per ulteriori informazioni, consulta la documentazione di riferimento dell'API C# di Cloud Storage.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Go
Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Go di Cloud Storage.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Java
Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Java di Cloud Storage.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare 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 la documentazione di riferimento dell'API Node.js di Cloud Storage.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare 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:
PHP
Per ulteriori informazioni, consulta la documentazione di riferimento dell'API PHP di Cloud Storage.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Python di Cloud Storage.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare 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:
Ruby
Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Ruby di Cloud Storage.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Terraform
API REST
API JSON
Installa e inizializzatogcloud CLI 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
.Utilizza
cURL
per chiamare l'API JSON con una richiesta OggettoPOST
. Per il fileindex.html
caricato in un bucket denominatomy-static-assets
:curl -X POST --data-binary @index.html \ -H "Content-Type: text/html" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/upload/storage/v1/b/my-static-assets/o?uploadType=media&name=index.html"
API XML
Installa e inizializzatogcloud CLI 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
.Utilizza
cURL
per chiamare l'API XML con una richiesta OggettoPUT
. Per il fileindex.html
caricato in un bucket denominatomy-static-assets
:curl -X PUT --data-binary @index.html \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: text/html" \ "https://storage.googleapis.com/my-static-assets/index.html"
Condividi i tuoi file
Per rendere tutti gli oggetti nel bucket leggibili a chiunque su internet pubblica:
Console
- Nella console Google Cloud, vai alla pagina Bucket di 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 vedi Non pubblico, fai clic sul pulsante Rimuovi prevenzione dell'accesso pubblico e fai clic su Conferma nella finestra di dialogo visualizzata.
Fai clic sul pulsante Concedi l'accesso add_box.
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.
Una volta condiviso pubblicamente, viene visualizzata un'icona link per ciascun oggetto nella colonna accesso pubblico. Puoi fare clic su questa icona per ottenere l'URL dell'oggetto.
Per scoprire come ottenere informazioni dettagliate sugli errori relativi alle operazioni Cloud Storage non riuscite nella console Google Cloud, consulta la pagina Risoluzione dei problemi.
Riga di comando
Utilizza il comando buckets add-iam-policy-binding
:
gcloud storage buckets add-iam-policy-binding gs://my-static-assets --member=allUsers --role=roles/storage.objectViewer
Librerie client
C++
Per ulteriori informazioni, consulta la documentazione di riferimento dell'API C++ di Cloud Storage.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
C#
Per ulteriori informazioni, consulta la documentazione di riferimento dell'API C# di Cloud Storage.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Go
Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Go di Cloud Storage.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Java
Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Java di Cloud Storage.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Node.js di Cloud Storage.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
PHP
Per ulteriori informazioni, consulta la documentazione di riferimento dell'API PHP di Cloud Storage.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Python di Cloud Storage.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Ruby
Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Ruby di Cloud Storage.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Terraform
API REST
API JSON
Installa e inizializzatogcloud CLI 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 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 creato al passaggio 2.BUCKET_NAME
è il nome del bucket di cui vuoi rendere pubblici gli oggetti. Ad esempio,my-static-assets
.
API XML
L'API XML non consente di rendere pubblicamente leggibili tutti gli oggetti di un bucket. Utilizza la console Google Cloud o gcloud storage
oppure imposta ACL per ogni singolo oggetto.
Per rendere i singoli oggetti del bucket accessibili pubblicamente, devi impostare la modalità di controllo dell'accesso del bucket su Granulare. In genere, rendere tutti i file del bucket accessibili pubblicamente è più facile e veloce.
I visitatori ricevono un codice di risposta http 403
quando richiedono l'URL di un
file non pubblico o inesistente. Consulta la prossima sezione per informazioni su come aggiungere una pagina di errore che utilizza un codice di risposta http 404
.
Opzione consigliata: assegna pagine speciali
Puoi assegnare un suffisso della pagina indice e una pagina di errore personalizzata, note come pagine speciali. L'assegnazione di una delle due opzioni è facoltativa, ma se non assegni un suffisso alla pagina di indice e carichi la pagina di indice corrispondente, agli utenti che accedono al tuo sito di primo livello viene mostrata una struttura di documenti XML contenente un elenco degli oggetti pubblici nel tuo bucket.
Per ulteriori informazioni sul comportamento delle pagine speciali, consulta Pagine delle specialità.
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 overflow del bucket (more_vert) associato al bucket e seleziona Modifica la configurazione del sito web.
Nella finestra di dialogo di configurazione del sito web, specifica la pagina principale e la pagina di errore.
Fai clic su Salva.
Per scoprire come ottenere informazioni dettagliate sugli errori relativi alle operazioni Cloud Storage non riuscite nella console Google Cloud, consulta la pagina Risoluzione dei problemi.
Riga di comando
Utilizza il comando buckets update
con i flag --web-main-page-suffix
e --web-error-page
.
Nell'esempio seguente, MainPageSuffix
è impostato su index.html
e NotFoundPage
è impostato su 404.html
:
gcloud storage buckets update gs://my-static-assets --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 la documentazione di riferimento dell'API C++ di Cloud Storage.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
C#
Per ulteriori informazioni, consulta la documentazione di riferimento dell'API C# di Cloud Storage.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Go
Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Go di Cloud Storage.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Java
Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Java di Cloud Storage.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Node.js di Cloud Storage.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
PHP
Per ulteriori informazioni, consulta la documentazione di riferimento dell'API PHP di Cloud Storage.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Python di Cloud Storage.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Ruby
Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Ruby di Cloud Storage.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
API REST
API JSON
Installa e inizializzatogcloud CLI 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 che imposti le proprietà
mainPageSuffix
enotFoundPage
in un oggettowebsite
sulle pagine desiderate.Nell'esempio seguente,
mainPageSuffix
è impostato suindex.html
enotFoundPage
è impostato su404.html
:{ "website":{ "mainPageSuffix": "index.html", "notFoundPage": "404.html" } }
Utilizza
cURL
per chiamare l'API JSON con una richiestaPATCH
bucket. Per il bucketmy-static-assets
:curl -X PATCH --data-binary @web-config.json \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/my-static-assets"
API XML
Installa e inizializzatogcloud CLI 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 XML che imposti gli elementi
MainPageSuffix
eNotFoundPage
in un elementoWebsiteConfiguration
sulle pagine desiderate.Nell'esempio seguente,
MainPageSuffix
è impostato suindex.html
eNotFoundPage
è impostato su404.html
:<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
. Permy-static-assets
:curl -X PUT --data-binary @web-config.xml \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ https://storage.googleapis.com/my-static-assets?websiteConfig
Configura il bilanciatore del carico e il certificato SSL
Cloud Storage non supporta i domini personalizzati con HTTPS da solo, quindi devi configurare anche un certificato SSL collegato a un bilanciatore del carico HTTPS per pubblicare il tuo sito web tramite HTTPS. Questa sezione mostra come aggiungere il bucket al backend di un bilanciatore del carico e come aggiungere un nuovo certificato SSL gestito da Google al frontend del bilanciatore del carico.
Avvia la configurazione
Nella console Google Cloud, vai alla pagina Bilanciamento del carico.
- Fai clic su Crea bilanciatore del carico.
- Per Tipo di bilanciatore del carico, seleziona Bilanciatore del carico delle applicazioni (HTTP/HTTPS) e fai clic su Avanti.
- Per Pubblico o interno, seleziona Pubblico (esterno) e fai clic su Avanti.
- Per Deployment globale o in una regione singola, seleziona Ideale per carichi di lavoro globali e fai clic su Avanti.
- Per Generazione del bilanciatore del carico, seleziona Bilanciatore del carico delle applicazioni classico e fai clic su Avanti.
- Fai clic su Configura.
Viene visualizzata la finestra di configurazione del bilanciatore del carico.
Configurazione di base
Prima di continuare con la configurazione, inserisci un Nome bilanciatore del carico, ad esempio example-lb
.
Configura il frontend
Questa sezione mostra come configurare il protocollo HTTPS e creare un certificato SSL. Puoi anche selezionare un certificato esistente o caricare un certificato SSL autogestito.
- Fai clic su Configurazione frontend.
- (Facoltativo) Assegna un nome alla configurazione frontend.
- Per Protocollo, seleziona HTTPS (include HTTP/2).
- Per Versione IP, seleziona IPv4. Se preferisci IPv6, consulta Terminazione IPv6 per ulteriori informazioni.
Per il campo Indirizzo IP:
- Nel menu a discesa, fai clic su Crea indirizzo IP.
- Nel popup Prenota un nuovo indirizzo IP statico, inserisci un nome, ad esempio
example-ip
per il Nome dell'indirizzo IP. - Fai clic su Prenota.
In corrispondenza di Porta, seleziona 443.
Nel menu a discesa del campo Certificato, seleziona Crea un nuovo certificato. Il modulo per la creazione del certificato viene visualizzato in un riquadro. Configura quanto segue:
- Assegna un nome al certificato, ad esempio
example-ssl
. - In Modalità di creazione, seleziona Crea certificato gestito da Google.
- In Domini, inserisci il nome del tuo sito web, ad esempio
www.example.com
. Se vuoi pubblicare i contenuti tramite domini aggiuntivi, ad esempio il dominio principaleexample.com
, premi Invio per aggiungerli su altre righe. Ogni certificato ha un limite di 100 domini.
- Assegna un nome al certificato, ad esempio
Fai clic su Crea.
(Facoltativo) Se vuoi che Google Cloud configuri automaticamente un bilanciatore del carico HTTP parziale per il reindirizzamento del traffico HTTP, seleziona la casella di controllo accanto ad Abilita reindirizzamento da HTTP a HTTPS.
Fai clic su Fine.
Configura il backend
- Fai clic su Configurazione backend.
- Nel menu a discesa Servizi e bucket di backend, fai clic su Crea un bucket di backend.
- Scegli un Nome bucket di backend, ad esempio
example-bucket
. Il nome che scegli può essere diverso dal nome del bucket che hai creato in precedenza. - Fai clic su Sfoglia nel campo Bucket Cloud Storage.
- Seleziona il bucket
my-static-assets
che hai creato in precedenza e fai clic su Seleziona. - (Facoltativo) Se vuoi utilizzare Cloud CDN, seleziona la casella di controllo Abilita Cloud CDN e configura Cloud CDN in base alle tue esigenze. Tieni presente che Cloud CDN potrebbe comportare costi aggiuntivi.
- Fai clic su Crea.
Configura le regole di routing
Le regole di routing sono i componenti della mappa URL di un bilanciatore del carico delle applicazioni esterno. Per questo tutorial, devi saltare questa parte della configurazione del bilanciatore del carico, perché viene impostato automaticamente per utilizzare il backend appena configurato.
Rivedi la configurazione
- Fai clic su Esamina e finalizza.
- Esamina Frontend, Regole di routing e Backend.
- Fai clic su Crea.
Potresti dover attendere qualche minuto per la creazione del bilanciatore del carico.
Connetti il tuo dominio al bilanciatore del carico
Dopo aver creato il bilanciatore del carico, fai clic sul suo nome:
example-lb
. Prendi nota dell'indirizzo IP associato al bilanciatore del carico: ad
esempio, 30.90.80.100
. Per puntare il tuo dominio al bilanciatore del carico, crea un
record A
utilizzando il servizio di registrazione del dominio. Se hai aggiunto più domini
al tuo certificato SSL, devi aggiungere un record A
per ciascuno, tutti
puntando all'indirizzo IP del bilanciatore del carico. Ad esempio, per creare record A
per www.example.com
e example.com
:
NAME TYPE DATA www A 30.90.80.100 @ A 30.90.80.100
Opzione consigliata: monitora lo stato del certificato SSL
Google Cloud potrebbe impiegare fino a 60-90 minuti per eseguire il provisioning del certificato e rendere il sito disponibile tramite il bilanciatore del carico. Per monitorare lo stato del certificato:
Console
- Vai alla pagina Bilanciamento del carico nella console Google Cloud.
Vai a Bilanciamento del carico - Fai clic sul nome del bilanciatore del carico:
example-lb
. - Fai clic sul nome del certificato SSL associato al bilanciatore del carico:
example-ssl
. - Le righe Status (Stato) e Domain status (Stato dominio) mostrano lo stato del certificato. Entrambi devono essere attivi affinché il certificato sia valido per il tuo sito web.
Riga di comando
Per verificare lo stato del certificato, esegui questo comando:
gcloud compute ssl-certificates describe CERTIFICATE_NAME \ --global \ --format="get(name,managed.status)"
Per verificare lo stato del dominio, esegui questo comando:
gcloud compute ssl-certificates describe CERTIFICATE_NAME \ --global \ --format="get(managed.domainStatus)"
Per ulteriori informazioni sullo stato dei certificati, consulta Risoluzione dei problemi relativi ai certificati SSL.
Testa il sito web
Una volta che il certificato SSL è attivo, verifica che i contenuti siano pubblicati dal bucket andando su https://www.example.com/test.html
, dove test.html
è un oggetto archiviato nel bucket che stai utilizzando come backend. Se imposti la proprietà MainPageSuffix
, https://www.example.com
va a index.html
.
Esegui la pulizia
Dopo aver completato il tutorial, puoi eseguire la pulizia delle risorse che hai creato in modo che smettano di utilizzare la quota e generino addebiti. Le sezioni seguenti descrivono come eliminare o disattivare queste risorse.
Elimina il progetto
Il modo più semplice per eliminare la fatturazione è quello di eliminare il progetto che hai creato per il tutorial.
Per eliminare il progetto:
- Nella console Google Cloud, vai alla pagina Gestisci risorse.
- Nell'elenco dei progetti, seleziona il progetto che vuoi eliminare, quindi fai clic su Elimina.
- Nella finestra di dialogo, digita l'ID del progetto e fai clic su Chiudi per eliminare il progetto.
Elimina il bilanciatore del carico e il bucket
Se non vuoi eliminare l'intero progetto, elimina il bilanciatore del carico e il bucket che hai creato per il tutorial:
- Vai alla pagina Bilanciamento del carico nella console Google Cloud.
Vai a Bilanciamento del carico - Seleziona la casella di controllo accanto a
example-lb
. - Fai clic su Elimina.
- (Facoltativo) Seleziona la casella di controllo accanto alle risorse da eliminare insieme al bilanciatore del carico, ad esempio il bucket
my-static-assets
o il certificato SSLexample-ssl
. - Fai clic su Elimina bilanciatore del carico o Elimina bilanciatore del carico e sulle risorse selezionate.
Rilascia un indirizzo IP riservato
Per eliminare l'indirizzo IP riservato che hai utilizzato per il tutorial:
Nella console Google Cloud, vai alla pagina Indirizzi IP esterni.
Seleziona le caselle di controllo accanto a
example-ip
.Fai clic su Rilascia indirizzo statico.
Nella finestra di conferma, fai clic su Delete (Elimina).
Passaggi successivi
- Consulta esempi e suggerimenti per l'utilizzo dei bucket per ospitare un sito web statico.
- Leggi ulteriori informazioni sulla risoluzione dei problemi per l'hosting di un sito web statico.
- Scopri di più sull'hosting di asset statici per un sito web dinamico.
- Scopri di più su altre soluzioni di pubblicazione web di Google Cloud.
Provalo
Se non conosci Google Cloud, crea un account per valutare le prestazioni di Cloud Storage in scenari reali. I nuovi clienti ricevono anche 300 $ di crediti gratuiti per l'esecuzione, il test e il deployment dei carichi di lavoro.
Prova Cloud Storage gratuitamente