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à.
È 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. È possibile utilizzare un oggetto root predefinito per evitare di esporre il contenuto della distribuzione.
Indice
Come specificare un oggetto root predefinito
Per evitare di esporre il contenuto della distribuzione o restituire un errore, specificate un oggetto root predefinito per la distribuzione. È possibile specificare il nome esatto del file o il percorso del file. Ad esempio, se l'oggetto principale è un index.html
file, è possibile specificare quel nome di file. Se il index.html
file si trova in un'altra cartella, specificate invece il percorso, ad esempio
. Se impostate un percorso per l'oggetto radice predefinito, le richieste del visualizzatore all'URL principale della distribuzione restituiranno il file specificato da quel percorso. È possibile utilizzare un percorso di file per avere maggiore flessibilità nell'organizzazione dei contenuti all'origine, poiché l'oggetto principale predefinito può trovarsi in una cartella anziché a livello principale. 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 di vincoli sul nome del file, consulta l'
DefaultRootObject
elemento in Amazon CloudFront API DistributionConfigReference.Nota
Se il nome del file dell'oggetto radice predefinito è troppo lungo o contiene un carattere non valido, CloudFront restituisce l'errore.
HTTP 400 Bad Request - InvalidDefaultRootObject
Inoltre, 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 garantiscano 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 tua distribuzione in modo che faccia riferimento all'oggetto root predefinito utilizzando la CloudFront console o l' CloudFront API.
Per specificare un oggetto root predefinito utilizzando la CloudFront console:
Accedere a AWS Management Console e aprire 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 Settings (Impostazioni), sulla scheda General (Generale), scegliere Edit (Modifica).
-
Nella finestra di dialogo Modifica impostazioni, nel campo Oggetto radice predefinito, immettete il nome del file o il percorso dell'oggetto radice predefinito.
Suggerimento
La stringa non può iniziare con una barra (
/
). Specificate solo il nome dell'oggetto o il percorso dell'oggetto. Ad esempio, utilizzareindex.html
o
. Specificando unexampleFolderName
/index.html/
oexampleFolderName
/index.html/index.html
si può generare un errore 403 Accesso negato. -
Scegli Save changes (Salva modifiche).
Per aggiornare la configurazione utilizzando l' CloudFront API, specifica un valore per l'
DefaultRootObject
elemento nella distribuzione. Per informazioni sull'utilizzo dell' CloudFront API per specificare un oggetto root predefinito, UpdateDistributionconsulta 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///
) sia 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 l'oggetto root predefinito e che CloudFront riceva una richiesta dall'utente finale per la directory inclusa nella install
distribuzione: CloudFront
https://d111111abcdef8.cloudfront.net/install/
CloudFront non restituisce l'oggetto root predefinito anche se nella directory è presente una copia diindex.html
. install
Tuttavia, se avete specificato un percorso all'oggetto radice predefinito, (install/index.html
) CloudFront restituirà l'oggetto root predefinito per le richieste degli utenti finali per la 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 si scrive l'applicazione per inviare una POST
richiesta alla radice del dominio (https://example.com), CloudFront invia la richiesta a /index.php. https://example.com
Il comportamento degli oggetti root CloudFront predefiniti è diverso dal comportamento dei documenti indice 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 il bucket Amazon S3 in modo appropriato per garantire il livello di accesso desiderato sul ACLs 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 delle seguenti condizioni, i contenuti della tua origine sono visibili a chiunque acceda alla tua CloudFront distribuzione:
-
Il tuo bucket non è configurato correttamente.
-
Le autorizzazioni Amazon S3 per il bucket associato alla distribuzione e per gli oggetti nel bucket concedono l'accesso a tutti gli utenti.
-
Un utente finale accede al server di origine utilizzando l'URL root di origine.
-
-
Un elenco dei contenuti privati della tua 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 Offri contenuti privati con cookie firmati URLs e firmati.
-
Error 403 Forbidden
— CloudFront restituisce questo errore se le autorizzazioni sul bucket Amazon S3 associato alla distribuzione o le autorizzazioni sugli oggetti in quel bucket negano l'accesso a e a tutti. CloudFront