Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Specifica di un oggetto root predefinito
È possibile CloudFront configurare la restituzione di un oggetto specifico (l'oggetto radice predefinito) quando un utente (visualizzatore) richiede l'URL principale per la distribuzione anziché richiedere un oggetto nella distribuzione. Puoi utilizzare un oggetto root predefinito per evitare l’esposizione dei contenuti della distribuzione.
Indice
Come specificare un oggetto root predefinito
Per evitare di esporre i contenuti della distribuzione o di ricevere un errore, specifica un oggetto root predefinito per la distribuzione. Puoi specificare il nome esatto del file o il percorso del file. Ad esempio, se l’oggetto root è un file index.html, puoi specificare tale nome file. Se il file index.html si trova in un’altra cartella, specifica invece il percorso, ad esempio . Se si imposta un percorso per l’oggetto root predefinito, le richieste del visualizzatore all’URL root della distribuzione restituiranno il file specificato da tale percorso. Puoi utilizzare un percorso di file per avere maggiore flessibilità nell’organizzazione dei contenuti all’origine, poiché l’oggetto root predefinito può trovarsi in una cartella anziché a livello root.
exampleFolderName/index.html
Per specificare un oggetto root predefinito per la tua distribuzione
-
Carica l'oggetto root predefinito sul server di origine a cui punta la tua distribuzione.
Il file può essere di qualsiasi tipo supportato da CloudFront. Per un elenco dei vincoli sul nome del file, consulta l'
DefaultRootObjectelemento DistributionConfig di Amazon CloudFront API Reference.Nota
Se il nome del file dell'oggetto root predefinito è troppo lungo o contiene un carattere non valido, CloudFront restituisce l'errore.
HTTP 400 Bad Request - InvalidDefaultRootObjectInoltre, CloudFront memorizza il codice nella cache per 10 secondi (per impostazione predefinita) e scrive i risultati nei log di accesso. -
Verificate che le autorizzazioni per l'oggetto concedano CloudFront almeno l'accesso in lettura.
Per ulteriori informazioni sulle autorizzazioni di Amazon S3, consulta Identity and Access Management in Amazon S3 nella Guida per gli sviluppatori di Amazon Simple Storage Service.
-
Aggiorna la distribuzione in modo che faccia riferimento all'oggetto principale predefinito utilizzando la CloudFront console o l' CloudFront API.
Per specificare un oggetto root predefinito utilizzando la CloudFront console:
Accedi Console di gestione AWS e apri la CloudFront console all'indirizzohttps://console.aws.amazon.com/cloudfront/v4/home
. -
Nell'elenco delle distribuzioni nel riquadro superiore, seleziona la distribuzione da aggiornare.
-
Nel riquadro Impostazioni, nella scheda Generale, scegli Modifica.
-
Nella finestra di dialogo Modifica impostazioni, nel campo Oggetto root predefinito, inserisci il nome file o il percorso dell’oggetto root predefinito.
Suggerimento
La stringa non può iniziare con una barra obliqua (
/). Specifica solo il nome dell’oggetto o il percorso dell’oggetto. Ad esempio, utilizzaindex.htmlo. La specifica di unexampleFolderName/index.html/oexampleFolderName/index.html/index.htmlpuò generare un errore 403 Access Denied. -
Scegli Save changes (Salva modifiche).
Per aggiornare la configurazione utilizzando l' CloudFront API, specifica un valore per l'
DefaultRootObjectelemento nella distribuzione. Per informazioni sull'utilizzo dell' CloudFront API per specificare un oggetto root predefinito, UpdateDistribution consulta Amazon CloudFront API Reference. -
Conferma di aver abilitato l'oggetto root predefinito richiedendo l'URL root. Se il tuo browser non visualizza l'oggetto root predefinito, esegui i seguenti passaggi:
-
Verifica che la distribuzione sia completamente distribuita visualizzando lo stato della distribuzione nella CloudFront console.
-
Ripeti le fasi 2 e 3 per verificare di aver ricevuto le autorizzazioni corrette e aver aggiornato la configurazione della distribuzione come richiesto per specificare l'oggetto root predefinito.
-
Come funziona un oggetto root predefinito
Supponiamo che la seguente richiesta faccia riferimento all'oggetto image.jpg:
https://d111111abcdef8.cloudfront.net/image.jpg
Al contrario, la seguente richiesta fa riferimento all'URL root della stessa distribuzione anziché a un oggetto specifico, come nel primo esempio:
https://d111111abcdef8.cloudfront.net/
Quando definisci un oggetto root predefinito, la richiesta di un utente finale che chiama il root della distribuzione restituisce l'oggetto root predefinito. Ad esempio, se imposti il file index.html come oggetto root predefinito, una richiesta per:
https://d111111abcdef8.cloudfront.net/
Valori restituiti:
https://d111111abcdef8.cloudfront.net/index.html
Nota
CloudFront non determina se un URL con più barre finali (
https://d111111abcdef8.cloudfront.net///) è equivalente a.
https://d111111abcdef8.cloudfront.net/ Il server di origine effettua questo confronto.
Se definisci un oggetto root predefinito, la richiesta di un utente finale per una sottodirectory della distribuzione non restituisce l'oggetto root predefinito. Ad esempio, supponiamo che
index.html sia il tuo oggetto principale predefinito e che CloudFront riceva una richiesta dall'utente finale per la directory inclusa nella install tua distribuzione: CloudFront
https://d111111abcdef8.cloudfront.net/install/
CloudFront non restituisce l'oggetto root predefinito anche se nella directory index.html viene visualizzata una copia di. install Tuttavia, se hai specificato un percorso per l'oggetto radice predefinito, (install/index.html) CloudFront restituirà l'oggetto radice predefinito per le richieste degli utenti finali relative alla directory install
Se configuri la tua distribuzione per consentire tutti i metodi HTTP che CloudFront supporta, l'oggetto root predefinito si applica a tutti i metodi. Ad esempio, se l'oggetto root predefinito è index.php e scrivi la tua applicazione per inviare una
POST richiesta alla radice del tuo dominio (https://example.com), CloudFront invia la richiesta a https://example.com/index.php.
Il comportamento degli oggetti root CloudFront predefiniti è diverso dal comportamento dei documenti indicizzati di Amazon S3. Quando configuri un bucket Amazon S3 come sito Web e specifichi il documento di indice, Amazon S3 restituisce il documento di indice anche se un utente richiede una sottodirectory nel bucket. (Una copia del documento di indice deve essere inclusa in ogni sottodirectory). Per ulteriori informazioni sulla configurazione dei bucket Amazon S3 come siti Web e sui documenti indicizzati, consulta il capitolo Hosting Siti Web su Amazon S3 nella Guida per l'utente di Amazon Simple Storage Service.
Importante
Ricorda che un oggetto root predefinito si applica solo alla tua CloudFront distribuzione. È comunque necessario gestire la sicurezza per il tuo server di origine. Ad esempio, se utilizzi un'origine Amazon S3, devi comunque impostare gli ACL del bucket Amazon S3 in modo appropriato per assicurarti il livello di accesso desiderato sul tuo bucket.
Come CloudFront funziona se non si definisce un oggetto root
Se non definisci un oggetto root predefinito, le richieste per il percorso root della distribuzione passa al tuo server di origine. Se stai usando un server di origine Amazon S3, potresti ricevere una delle seguenti risposte:
-
Un elenco dei contenuti del tuo bucket Amazon S3: in una qualsiasi delle seguenti condizioni, i contenuti di origine sono visibili a chiunque utilizzi per accedere CloudFront alla tua distribuzione:
-
Il tuo bucket non è configurato correttamente.
-
Le autorizzazioni Amazon S3 sul bucket associato alla tua distribuzione e sugli oggetti nel bucket concedono l'accesso a tutti.
-
Un utente finale accede al server di origine utilizzando l'URL root di origine.
-
-
Un elenco dei contenuti privati di origine: se configuri la tua origine come distribuzione privata (solo tu e CloudFront hai accesso), i contenuti del bucket Amazon S3 associato alla tua distribuzione sono visibili a chiunque disponga delle credenziali per accedere alla tua distribuzione. CloudFront In questo caso, gli utenti non sono in grado di accedere ai tuoi contenuti tramite l'URL root di origine. Per ulteriori informazioni su come distribuire contenuti privati, consulta Gestione di contenuti privati con URL e cookie firmati.
-
Error 403 Forbidden— CloudFront restituisce questo errore se le autorizzazioni sul bucket Amazon S3 associato alla tua distribuzione o le autorizzazioni sugli oggetti in quel bucket negano l'accesso a e a tutti. CloudFront