Questa pagina mostra esempi e suggerimenti per utilizzare i bucket per ospitare un sito web statico.
Pagine speciali
Pagine dell'indice
Una pagina indice (chiamata anche indice della directory del web server)
è un file fornito ai visitatori quando richiedono un URL che non ha un file associato. Quando assegni una proprietà MainPageSuffix
,
Cloud Storage cerca un file con quel nome il cui prefisso corrisponde all'URL richiesto dal visitatore.
Ad esempio, supponiamo di impostare il MainPageSuffix
del tuo sito web statico su
index.html
. Inoltre, supponiamo che tu non abbia alcun file denominato directory
nel bucket www.example.com
. In questa situazione, 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 anche questo file non esiste,
Cloud Storage restituisce una pagina di errore.
Il MainPageSuffix
controlla anche il file pubblicato quando gli utenti richiedono il sito di primo livello. Continuando l'esempio precedente, se un utente richiede
http://www.example.com
, Cloud Storage tenta di pubblicare il file
www.example.com/index.html
.
Quando tenti 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 esiste un file con il nome richiesto né una pagina indice applicabile.
Quando viene restituita una pagina di errore, il codice di risposta HTTP è 404
. La proprietà che
controlla quale file funge da pagina di errore è NotFoundPage
. Se non imposti
NotFoundPage
, gli utenti visualizzano una pagina di errore generica.
Esempi di configurazione del sito web
Bucket con tre oggetti
Supponiamo che un bucket denominato www.example.com
sia stato configurato come 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 tabella seguente 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 | Una risposta con un corpo vuoto e un'intestazione Location che punta
a "dir/index.html". |
301 |
http://www.example.com/dir/ | L'oggetto "dir/index.html", supponendo che non esista alcun oggetto di zero byte per /dir/ | 200 |
Un oggetto vuoto di zero byte, se esiste per /dir/. Consulta l'argomento Risoluzione dei problemi per rimuovere questo oggetto di zero byte. | 301 |
Bucket a due oggetti
Supponiamo che un bucket denominato www.example.com
sia stato configurato come 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 tabella seguente 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 viene 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 saperne di più su come utilizzare i dati accessibili pubblicamente, consulta la sezione 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.
Aggiungere sottodomini
Supponiamo che tu voglia pubblicare contenuti anche all'indirizzo test.example.com
, da un bucket diverso
da quello che pubblica contenuti all'indirizzo www.example.com
. Ecco come fare:
Crea un nuovo bucket per pubblicare i contenuti aggiuntivi.
Se hai seguito il tutorial Hosting di un sito web statico per pubblicare i tuoi contenuti tramite HTTPS, modifica il bilanciatore del carico nella console Google Cloud come segue:
- Per 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 nel seguente modo:
Hosts Paths Backends test.example.com /* test-bucket
Per la Configurazione frontend, aggiungi un nuovo IP e 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
.
- Per Configurazione backend, crea un nuovo bucket di backend
Dopo aver aggiornato il bilanciatore del carico, aggiungi un nuovo record
A
al servizio di registrazione del dominio utilizzando l'indirizzo IP della nuova configurazione 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 che arrivano a Cloud Storage tramite un CNAME
o un A
reindirizzamento. Ad esempio, una richiesta a www.example.com
mostra la pagina indice, ma una richiesta equivalente a
storage.googleapis.com/www.example.com
non lo fa.
Pertanto, il comportamento dell'API per le richieste ai domini Cloud Storage, ad esempio
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
che ricevi 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. Alcuni vantaggi dell'hosting degli asset statici, come immagini o file JavaScript, in un bucket includono:
Cloud Storage si comporta come una Content Delivery Network (CDN) perché 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 in genere sono inferiori con Cloud Storage.
Il carico sui server web viene ridotto quando i contenuti statici vengono pubblicati da Cloud Storage.
Quando ospiti asset statici per un sito web dinamico, non devi creare
record DNS e puntare a un bucket o a un bilanciatore del carico come fai per un
sito web statico. Ad esempio, potresti avere un bucket denominato
www_example_com_assets
con asset appropriati configurati come condivisi
pubblicamente e quindi accedere a questi asset utilizzando il dominio Cloud Storage.
Ad esempio, supponiamo che tu abbia 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
.
Imposta i parametri della cache
Puoi controllare come o se le risorse del tuo sito web vengono memorizzate nella cache configurando i
metadati Cache-Control
. In genere, imposta i metadati di controllo della cache
solo per gli oggetti accessibili a tutti gli utenti anonimi, un requisito
per qualsiasi oggetto pubblicato da un bucket Cloud Storage nell'ambito 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 tu non specifichi impostazioni di controllo della cache esplicite. Consulta Visualizzazione e modifica dei metadati per istruzioni sull'impostazione
dei metadati degli oggetti, ad esempio Cache-Control
.
Puoi anche utilizzare Cloud CDN per memorizzare nella cache i contenuti esterni con bilanciamento del carico HTTP(S) vicino ai tuoi utenti, il che spesso riduce i costi di servizio. Per ulteriori informazioni, vedi Memorizzazione nella cache.
Monitorare 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 al tuo progetto contenente il bucket. La pubblicazione di 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 dei prezzi di Cloud Storage.
Potresti anche sostenere costi di rete se utilizzi un bilanciatore del carico delle applicazioni esterno per configurare HTTPS. Per ulteriori dettagli, consulta la pagina Prezzi di utilizzo della rete.
L'esempio di prezzi semplice nella pagina degli esempi di prezzi può essere utilizzato come approssimazione per il caso d'uso di un sito web statico con poco traffico. Tieni presente, tuttavia, che l'esempio non tiene conto degli addebiti associati al bilanciatore del carico delle applicazioni 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 ottenere una suddivisione dettagliata dei costi del tuo progetto nella pagina di fatturazione.
Risoluzione dei problemi
Consulta la sezione Risoluzione dei problemi per i problemi comuni associati all'utilizzo di un bucket configurato per la gestione dei contenuti di un sito web statico.
Passaggi successivi
- Prova le Google Cloud soluzioni di avvio rapido che utilizzano Cloud Storage.
- Scopri di più su altre opzioni di pubblicazione web su 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 senza addebiti per l'esecuzione, il test e il deployment dei workload.
Prova Cloud Storage gratuitamente