Questa pagina mostra esempi e suggerimenti per l'utilizzo dei bucket per l'hosting di un sito web statico.
Pagine di specialità
Pagine dell'indice
Una pagina indice (detta anche indice di directory del server web) è un file che viene mostrato ai visitatori quando richiedono un URL senza un file associato. Quando assegni una proprietà MainPageSuffix
, Cloud Storage cerca un file con quel nome il cui prefisso corrisponda all'URL richiesto dal visitatore.
Ad esempio, supponiamo che tu abbia impostato il MainPageSuffix
del tuo sito web statico su
index.html
. Inoltre, supponiamo che non esistano file con nome directory
nel tuo bucket www.example.com
. In questo caso, se un utente richiede l'URL
http://www.example.com/directory
, Cloud Storage tenta di pubblicare il file
www.example.com/directory/index.html
. Se il file non esiste,
Cloud Storage restituisce una pagina di errore.
L'elemento MainPageSuffix
controlla anche il file pubblicato quando gli utenti richiedono il sito di primo livello. Proseguendo con l'esempio precedente, se un utente richiede
http://www.example.com
, Cloud Storage tenta di pubblicare il file
www.example.com/index.html
.
Quando cerchi di accedere a un URL con una barra finale, ad esempio
http://www.example.com/dir/
, consulta la sezione Risoluzione dei problemi.
Pagina di errore
La pagina di errore è il file restituito ai visitatori del tuo sito statico che richiedono un URL che non corrisponde a un file esistente. Se hai assegnato un MainPageSuffix
, Cloud Storage restituisce la pagina di errore solo se non è presente un file con il nome richiesto né una pagina di indice applicabile.
Quando viene restituita una pagina di errore, il codice di risposta http è 404
. La proprietà che
controlla quale file agisce come pagina di errore è NotFoundPage
. Se non imposti NotFoundPage
, gli utenti ricevono una pagina di errore generica.
Esempi di configurazione di siti web
Bucket a tre oggetti
Supponi che un bucket denominato www.example.com
sia stato configurato come un sito web con le seguenti impostazioni e file:
MainPageSuffix
= "index.html"NotFoundPage
= "404.html"- Il bucket contiene tre oggetti condivisi pubblicamente: "index.html", "404.html" e "dir/index.html".
La seguente tabella mostra i contenuti pubblicati per gli URL selezionati:
URL richiesto | Contenuti pubblicati | Codice di risposta HTTP |
---|---|---|
http://www.example.com http://www.example.com/ http://www.example.com/index.html |
L'oggetto "index.html". | 200 |
http://www.example.com/hello | L'oggetto "404.html". | 404 |
http://www.example.com/dir/index.html | L'oggetto "dir/index.html". | 200 |
http://www.example.com/dir | L'oggetto "dir/index.html". | 301 |
http://www.example.com/dir/ | L'oggetto "dir/index.html", supponendo che non esista un oggetto a zero byte per /dir/ | 200 |
Un oggetto vuoto di zero byte, se esiste per /dir/. Per informazioni sulla rimozione di questo oggetto a zero byte, consulta l'argomento Risoluzione dei problemi. | 301 |
Bucket a due oggetti
Supponi che un bucket denominato www.example.com
sia stato configurato come un sito web con le seguenti impostazioni e file:
MainPageSuffix
= "main.html"NotFoundPage
= "404.html"- Il bucket contiene due oggetti condivisi pubblicamente: "main.html" e "404.html".
La seguente tabella mostra i contenuti pubblicati per gli URL selezionati:
URL richiesto | Contenuti pubblicati | Codice di risposta HTTP |
---|---|---|
http://www.example.com http://www.example.com/ |
L'oggetto "main.html". | 200 |
http://www.example.com/index.html | L'oggetto "404.html". | 404 |
Se un oggetto è condiviso pubblicamente, puoi anche visualizzarlo con l'URL:
http://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME
Ad esempio, l'URL di un oggetto index.html
sarebbe:
http://storage.googleapis.com/www.example.com/index.html
Per ulteriori informazioni sull'utilizzo di dati accessibili pubblicamente, consulta Accesso ai dati pubblici.
Suggerimenti per lavorare con un bucket configurato come sito web
Di seguito sono riportati alcuni suggerimenti da tenere presente quando utilizzi un bucket per ospitare un sito web statico.
Aggiungi sottodomini
Supponi di voler pubblicare contenuti anche in test.example.com
, da un bucket diverso da quello che pubblica contenuti in www.example.com
. Ecco come fare:
Crea un nuovo bucket per pubblicare i tuoi contenuti aggiuntivi.
Se hai seguito il tutorial relativo all'hosting di un sito web statico per pubblicare i tuoi contenuti tramite HTTPS, modifica il bilanciatore del carico nella console Google Cloud nel seguente modo:
- In Configurazione backend, crea un nuovo bucket di backend
test-bucket
selezionando il nuovo bucket che hai creato. - Per le regole host e percorso, aggiungi una nuova regola come segue:
Hosts Paths Backends test.example.com /* test-bucket
Per la Configurazione frontend, aggiungi un nuovo IP e una nuova porta frontend con gli stessi valori della prima configurazione, con le seguenti eccezioni:
- Per Indirizzo IP, crea e prenota un nuovo indirizzo IP.
- Per Certificato, crea un nuovo certificato SSL per
test.example.com
.
- In Configurazione backend, crea un nuovo bucket di backend
Dopo aver aggiornato il bilanciatore del carico, aggiungi un nuovo record
A
al servizio di registrazione di domini utilizzando l'indirizzo IP della nuova configurazione del frontend:NAME TYPE DATA test A IP_ADDRESS
Comportamento dell'API
Le configurazioni dei siti web MainPageSuffix
e NotFoundPage
vengono utilizzate solo per
le richieste ricevute da Cloud Storage tramite un
reindirizzamento CNAME
o A
. Ad esempio, una richiesta a www.example.com
mostra la pagina di indice, mentre una richiesta equivalente a storage.googleapis.com/www.example.com
non la mostra.
Di conseguenza, il comportamento delle API per le richieste ai domini Cloud Storage, come
storage.googleapis.com/www.example.com
, viene mantenuto. Ad esempio, puoi continuare a elencare gli oggetti nel bucket www.example.com
come faresti per qualsiasi altro bucket. Nel caso del bucket www.example.com
, l'elenco degli oggetti
ricevuto include 404.html
e index.html
.
Ospitare asset statici per un sito web dinamico
Puoi utilizzare Cloud Storage per ospitare asset statici per un sito web dinamico ospitato, ad esempio, in Google App Engine o in Google Compute Engine. Ecco alcuni vantaggi dell'hosting degli asset statici, come immagini o file JavaScript, in un bucket:
Cloud Storage si comporta come una rete CDN (Content Delivery Network), in quanto gli oggetti leggibili pubblicamente vengono memorizzati nella cache nella rete Cloud Storage per impostazione predefinita.
I costi della larghezza di banda per l'accesso ai contenuti generalmente costano meno con Cloud Storage.
Il carico sui server web è ridotto quando si pubblicano contenuti statici da Cloud Storage.
Quando ospiti asset statici per un sito web dinamico, non è necessario creare record DNS e puntare a un bucket o a un bilanciatore del carico come faresti per un sito web statico. Ad esempio, potresti avere un bucket denominato
www_example_com_assets
con asset appropriati configurati come condivisi
pubblicamente e poi accedere a questi asset utilizzando il dominio Cloud Storage.
Ad esempio, supponi di avere il file JavaScript library.js
nel bucket
www_example_com_assets
condiviso pubblicamente, quindi puoi accedervi come
http://storage.googleapis.com/www_example_com_assets/library.js
.
Impostare i parametri della cache
Puoi controllare come o se gli asset del tuo sito web vengono memorizzati nella cache configurando i
metadati Cache-Control
. In genere, imposta solo i metadati di controllo della cache per gli oggetti accessibili a tutti gli utenti anonimi, requisito che è obbligatorio per qualsiasi oggetto gestito da un bucket Cloud Storage come parte di un sito web statico.
Cloud Storage applica un'impostazione di controllo della cache di 3600 secondi agli oggetti accessibili a tutti gli utenti anonimi, a meno che non specifichi impostazioni esplicite di controllo della cache. Consulta Visualizzazione e modifica dei metadati per le istruzioni sull'impostazione dei metadati degli oggetti, ad esempio Cache-Control
.
Puoi anche utilizzare Cloud CDN per memorizzare nella cache contenuti HTTP(S) esterni con bilanciamento del carico vicino agli utenti, il che spesso riduce i costi di servizio. Per ulteriori informazioni, consulta la sezione Memorizzazione nella cache.
Monitora gli addebiti
Se pubblichi asset da un bucket configurato come sito web statico o pubblichi asset statici da un bucket per un sito web dinamico ospitato al di fuori di Cloud Storage, devi monitorare gli addebiti relativi al progetto che contiene il bucket. La pubblicazione dei contenuti comporta costi di Cloud Storage per l'archiviazione dei contenuti, l'utilizzo della rete e l'esecuzione di operazioni di recupero. Per maggiori dettagli, consulta la pagina Prezzi di Cloud Storage.
Ti potrebbero venire addebitati dei costi di networking anche se utilizzi un bilanciatore del carico delle applicazioni esterno per configurare HTTPS. Per ulteriori dettagli, vedi Prezzi di rete.
L'esempio di prezzi semplice nella pagina degli esempi di prezzi può essere utilizzato come approssimativo per il caso d'uso di un sito web statico a traffico ridotto. Tuttavia, tieni presente che l'esempio non tiene conto degli addebiti associati all'Application Load Balancer esterno, che spesso può essere l'addebito più elevato per l'hosting di siti web statici. Puoi utilizzare il Calcolatore prezzi per generare una stima dei costi in base all'utilizzo previsto.
Se sei un utente attuale di Google Cloud, puoi trovare un'analisi dettagliata dei costi del tuo progetto nella pagina Fatturazione.
Risoluzione dei problemi
Consulta la sezione Risoluzione dei problemi per i problemi comuni associati all'utilizzo di un bucket configurato per pubblicare contenuti statici di un sito web.
Passaggi successivi
- Scopri di più sulle altre opzioni di pubblicazione sul web su Google Cloud.
- Prova altri tutorial di Google Cloud che utilizzano Cloud Storage.
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 gratis