Questa pagina mostra esempi e suggerimenti per usando i bucket per ospitare un sito web statico.
Pagine di specialità
Pagine indice
Una pagina di indice (detta anche indice di directory server web)
è un file pubblicato per i visitatori che richiedono un URL senza un
associato. Quando assegni una proprietà MainPageSuffix
,
Cloud Storage cerca un file con questo nome il cui prefisso corrisponde
URL richiesto dal visitatore.
Ad esempio, supponi di impostare MainPageSuffix
del tuo sito web statico su
index.html
. Inoltre, supponiamo che tu non abbia file con il nome directory
nel tuo
nel bucket www.example.com
. In questo caso, se un utente richiede l'URL
http://www.example.com/directory
, Cloud Storage tenta di gestire il file
www.example.com/directory/index.html
. Se nemmeno il file esiste,
Cloud Storage restituisce una pagina di errore.
MainPageSuffix
controlla anche il file pubblicato quando gli utenti richiedono il primo
di livello del sito. Continuando con l'esempio precedente, se un utente richiede
http://www.example.com
, Cloud Storage tenta di gestire il file
www.example.com/index.html
.
Quando tenti di accedere a un URL con una barra finale, come
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
richiedere un URL che non corrisponda a un file esistente. Se disponi
assegnato un MainPageSuffix
, Cloud Storage restituisce la pagina di errore solo se
non esiste né 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à
determina quale file agisce perché la pagina di errore è NotFoundPage
. In caso contrario
imposta NotFoundPage
, gli utenti ricevono 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 impostazioni e i file seguenti:
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 alcun oggetto a zero byte per /dir/ | 200 |
Un oggetto vuoto da zero byte, se esiste per /dir/. Consulta l'argomento Risoluzione dei problemi per la rimozione di questo oggetto con zero byte. | 301 |
Bucket con due oggetti
Supponiamo che un bucket denominato www.example.com
sia stato configurato come sito web
con le impostazioni e i file seguenti:
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 visualizza quell'oggetto 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 pubblicamente accessibili, vedi Accesso ai dati pubblici.
Suggerimenti per utilizzare un bucket configurato come sito web
Di seguito sono riportati alcuni suggerimenti da tenere a mente quando utilizzi un per ospitare un sito web statico.
Aggiungi sottodomini
Supponiamo di voler pubblicare contenuti anche su test.example.com
, da un altro
diverso da quello che pubblica i contenuti in www.example.com
. Ecco come fare:
Crea un nuovo bucket per la pubblicazione dei contenuti aggiuntivi.
Se hai seguito il tutorial della sezione Hosting di un sito web statico per pubblicare tramite HTTPS, modifica il bilanciatore del carico Console Google Cloud come segue:
- Per Configurazione backend, crea un nuovo bucket di backend
test-bucket
selezionando il nuovo bucket che hai creato. - Per Regole host e percorso, aggiungi una nuova regola come segue:
Hosts Paths Backends test.example.com /* test-bucket
Per Configurazione frontend, aggiungi un nuovo IP e una nuova porta frontend con stessi valori della prima configurazione, con le seguenti eccezioni:
- In Indirizzo IP, crea e prenota un nuovo indirizzo IP.
- In 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 tuo dominio servizio di registrazione utilizzando l'indirizzo IP della nuova configurazione frontend:NAME TYPE DATA test A IP_ADDRESS
Comportamento dell'API
Le configurazioni del sito web MainPageSuffix
e NotFoundPage
vengono utilizzate solo
per le richieste che arrivano a Cloud Storage tramite
CNAME
o A
reindirizzamento. Ad esempio, una richiesta a www.example.com
mostra la pagina di indice, ma una richiesta equivalente
storage.googleapis.com/www.example.com
no.
Pertanto, il comportamento delle API per le richieste ai domini Cloud Storage,
storage.googleapis.com/www.example.com
viene conservato. 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'oggetto
la scheda che ricevi include 404.html
e index.html
.
Ospita asset statici per un sito web dinamico
Puoi utilizzare Cloud Storage per ospitare asset statici per un sito web dinamico che ospitato, ad esempio in Google App Engine o Google Compute Engine. Alcuni vantaggi dell'hosting di asset statici come immagini o file JavaScript, in un bucket includono:
Cloud Storage si comporta come un sistema di importazione dei contenuti di rete (CDN) perché gli oggetti leggibili pubblicamente vengono memorizzati nella cache alla rete Cloud Storage per impostazione predefinita.
I costi della larghezza di banda per accedere ai contenuti in genere hanno un costo inferiore con Cloud Storage.
Il carico sui server web viene ridotto quando si offrono contenuti statici da di archiviazione ideale in Cloud Storage.
Se 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
un sito web statico. Ad esempio, potresti avere un bucket denominato
www_example_com_assets
con asset appropriati configurati come condivisi
pubblicamente per poi accedervi utilizzando il dominio Cloud Storage.
Ad esempio, supponiamo che tu abbia il file JavaScript library.js
nel bucket
www_example_com_assets
che è condiviso pubblicamente, potrai accedervi come
http://storage.googleapis.com/www_example_com_assets/library.js
.
Imposta parametri cache
Puoi controllare come e se gli asset del tuo sito web vengono memorizzati nella cache configurando il
Cache-Control
metadati. In genere, impostano solo i metadati di controllo della cache
per gli oggetti accessibili a tutti gli utenti anonimi, che è un requisito
per qualsiasi oggetto gestito da un bucket Cloud Storage come parte di un
sito web.
Cloud Storage applica un'impostazione di controllo della cache di 3600 secondi agli oggetti
accessibile a tutti gli utenti anonimi, a meno che non specifichi un controllo della cache esplicito
impostazioni. Per le istruzioni sull'impostazione, consulta l'articolo Visualizzazione e modifica dei metadati
come Cache-Control
.
Puoi anche utilizzare Cloud CDN per memorizzare nella cache contenuti esterni con bilanciamento del carico HTTP(S) vicino agli utenti, il che spesso riduce i costi di pubblicazione. Per ulteriori informazioni, vedi Memorizzazione nella cache.
Monitora gli addebiti
Se pubblichi asset da un bucket configurato come sito web statico o pubblicare asset statici da un bucket per un sito web dinamico ospitato all'esterno di Cloud Storage, devi monitorare gli addebiti al tuo progetto contenenti di sincronizzare la directory di una VM con un bucket. La pubblicazione dei contenuti comporta costi di Cloud Storage per l'archiviazione contenuti, utilizzare la rete ed eseguire operazioni di recupero. Per maggiori dettagli, consulta la pagina dei prezzi di Cloud Storage.
Potrebbero esserti addebitati costi di rete anche se utilizzi un bilanciatore del carico delle applicazioni esterno per configurare HTTPS. Per ulteriori dettagli, consulta i prezzi della rete.
Il semplice esempio di prezzi nella pagina degli esempi di prezzi può essere utilizzata come approssimazione per il caso d'uso di un sito web statico a traffico ridotto. Nota, tuttavia, che l'esempio non tiene conto degli addebiti associati a il bilanciatore del carico delle applicazioni esterno, che spesso può essere l'addebito più elevato per il sito web statico hosting. Puoi utilizzare la funzionalità Prezzi Calcolatrice per generare una stima dei costi in base all'utilizzo previsto.
Se sei già un utente Google Cloud, puoi avere un'analisi dettagliata dei costi del progetto nella pagina Fatturazione.
Risoluzione dei problemi
Consulta la sezione Risoluzione dei problemi per i problemi comuni associati all'utilizzo di un bucket configurate per la pubblicazione di contenuti statici per siti web.
Passaggi successivi
- Scopri di più su altre opzioni di pubblicazione 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 gratuitamente