Risoluzione di problemi di distribuzione - Amazon CloudFront

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à.

Risoluzione di problemi di distribuzione

Usa le informazioni qui per aiutarti a diagnosticare e correggere errori di certificato, problemi di accesso negato o altri problemi comuni che potresti riscontrare durante la configurazione del tuo sito Web o dell'applicazione con le distribuzioni Amazon. CloudFront

CloudFront restituisce un Access Denied error

Se utilizzi un bucket Amazon S3 come origine per la tua CloudFront distribuzione, potresti visualizzare un messaggio di errore Access Denied (403) negli esempi seguenti.

Hai specificato un oggetto mancante dall'origine di Amazon S3

Verifica che l'oggetto richiesto nel tuo bucket esista. I nomi degli oggetti distinguono tra maiuscole e minuscole L'immissione di un nome di oggetto non valido può restituire un codice di errore di accesso negato.

Ad esempio, se segui il CloudFront tutorial per creare una distribuzione di base, crei un bucket Amazon S3 come origine e carichi un file di esempio. index.html

Nel tuo browser web, se inserisci https://d111111abcdef8.cloudfront.net/INDEX.HTML invece dihttps://d111111abcdef8.cloudfront.net/index.html, potresti visualizzare un messaggio simile perché il index.html file nel URL percorso fa distinzione tra maiuscole e minuscole.

<Error> <Code>AccessDenied</Code> <Message>Access Denied</Message> <RequestId>22Q367AHT7Y1ABCD</RequestId> <HostId> ABCDE/Vg+7PSNa/d/IfFQ8Fb92TGQ0KH0ZwG5iEKbc6+e06DdMS1ZW+ryB9GFRIVtS66rSSy6So= </HostId> </Error>

La tua origine Amazon S3 non ha le autorizzazioni IAM

Verifica di aver selezionato il bucket Amazon S3 corretto come dominio e nome di origine. L'origine (Amazon S3) deve disporre delle autorizzazioni corrette.

Se non specifichi le autorizzazioni corrette, ai tuoi spettatori può apparire il seguente messaggio di accesso negato.

<Code>AccessDenied</Code> <Message>User: arn:aws:sts::856369053181:assumed-role/OriginAccessControlRole/EdgeCredentialsProxy+EdgeHostAuthenticationClient is not authorized to perform: kms:Decrypt on the resource associated with this ciphertext because the resource does not exist in this Region, no resource-based policies allow access, or a resource-based policy explicitly denies access</Message> <RequestId>22Q367AHT7Y1ABCD/RequestId> <HostId> ABCDE/Vg+7PSNa/d/IfFQ8Fb92TGQ0KH0ZwG5iEKbc6+e06DdMS1ZW+ryB9GFRIVtS66rSSy6So= </HostId> </Error>
Nota

In questo messaggio di errore, l'ID account 856369053181 è un account gestito. AWS

Quando distribuisci contenuti da Amazon S3 e utilizzi anche AWS Key Management Service (AWS KMS) la crittografia lato servizio (SSE-KMS), devi specificare IAM autorizzazioni aggiuntive per la chiave e il bucket KMS Amazon S3. La tua CloudFront distribuzione necessita di queste autorizzazioni per utilizzare la KMS chiave, utilizzata per la crittografia del bucket Amazon S3 di origine.

Le configurazioni della bucket policy di Amazon S3 consentono alla distribuzione di recuperare CloudFront gli oggetti crittografati per la distribuzione dei contenuti.

Per verificare le autorizzazioni chiave e per il bucket Amazon S3 KMS
  1. Verifica che la KMS chiave che stai utilizzando sia la stessa chiave utilizzata dal tuo bucket Amazon S3 per la crittografia predefinita. Per ulteriori informazioni, consulta Specificare la crittografia lato server con AWS KMS (SSE-KMS) nella Guida per l'utente di Amazon Simple Storage Service.

  2. Verifica che gli oggetti nel bucket siano crittografati con la stessa chiave. KMS Puoi selezionare qualsiasi oggetto dal bucket Amazon S3 e controllare le impostazioni di crittografia lato server per verificare la chiave. KMS ARN

  3. Modifica la policy del bucket Amazon S3 per concedere l' CloudFront autorizzazione a chiamare l'GetObjectAPIoperazione dal bucket Amazon S3. Per un esempio di policy sui bucket di Amazon S3 che utilizza il controllo dell'accesso all'origine, consulta. Concedi all'origine il permesso di controllo dell'accesso per accedere al bucket S3

  4. Modifica la politica KMS chiave per concedere CloudFront l'autorizzazione a eseguire le azioni a EncryptDecrypt, e. GenerateDataKey* Per eseguire l'allineamento con il privilegio minimo, specificate un Condition elemento in modo che solo la CloudFront distribuzione specificata possa eseguire le azioni elencate. È possibile personalizzare la politica in base alla politica esistente AWS KMS . Per un esempio di politica KMS chiave, consulta laSSE-KMS.

Se utilizzi origin access identity (OAI) invece diOAC, le autorizzazioni per il bucket Amazon S3 sono leggermente diverse perché concedi l'autorizzazione a un'identità anziché a. Servizio AWS Per ulteriori informazioni, consulta Concedi l'autorizzazione all'identità di accesso all'origine per leggere i file nel bucket Amazon S3.

Se ancora non riesci a visualizzare i file nella tua distribuzione, consulta. Non posso visualizzare i file nella distribuzione

Stai utilizzando credenziali non valide o non disponi di autorizzazioni sufficienti

Può apparire un messaggio di errore Accesso negato se utilizzi AWS SCT credenziali errate o scadute (chiave di accesso e chiave segreta) o se al IAM ruolo o all'utente manca l'autorizzazione richiesta per eseguire un'azione su una risorsa. CloudFront Per ulteriori informazioni sui messaggi di errore di accesso negato, consulta Risoluzione dei messaggi di errore di accesso negato nella Guida per l'IAMutente.

Per informazioni su come IAM funziona con CloudFront, vedereIdentity and Access Management per Amazon CloudFront.

CloudFront restituisce un InvalidViewerCertificate errore quando provo ad aggiungere un nome di dominio alternativo

Se CloudFront restituisce un InvalidViewerCertificate errore quando tenti di aggiungere un nome di dominio alternativo (CNAME) alla tua distribuzione, consulta le seguenti informazioni per risolvere il problema. Questo errore può indicare che uno dei seguenti problemi devono essere risolti prima che sia possibile aggiungere il nome di dominio alternativo.

I seguenti errori sono elencati nell'ordine in cui viene CloudFront verificata l'autorizzazione all'aggiunta di un nome di dominio alternativo. Questo può aiutarti a risolvere i problemi perché, in base all'errore CloudFront restituito, puoi stabilire quali controlli di verifica sono stati completati correttamente.

Nessun certificato collegato alla distribuzione

Per aggiungere un nome di dominio alternativo (CNAME), devi allegare un certificato affidabile e valido alla tua distribuzione. Rivedi i requisiti, ottieni un certificato valido che li soddisfa, collegalo alla distribuzione e riprova. Per ulteriori informazioni, consulta Requisiti per l'utilizzo di nomi di dominio alternativi.

La catena di certificati contiene troppi certificati per il certificato che hai collegato.

Una catena di certificati può contenere un massimo di cinque certificati. Riduci il numero di certificati nella catena e riprova.

La catena di certificati include uno o più certificati che non sono validi per la data corrente.

La catena di certificati per un certificato che hai aggiunto dispone di uno o più certificati che non sono validi, perché un certificato non è ancora valido o perché un certificato è scaduto. Controlla i campi Not Valid Before (Non valido prima) e Not Valid After (Non valido dopo) nei certificati della catena di certificati per accertarti che tutti i certificati siano validi in base alle date elencate.

Il certificato che hai collegato non è firmato da un'autorità di certificazione (CA) attendibile.

Il certificato che alleghi per CloudFront verificare un nome di dominio alternativo non può essere un certificato autofirmato. Deve essere firmato da una CA attendibile. Per ulteriori informazioni, consulta Requisiti per l'utilizzo di nomi di dominio alternativi.

Il certificato che hai collegato non è formattato correttamente

Il formato del nome di dominio e dell'indirizzo IP che sono inclusi nel certificato e il formato del certificato stesso devono seguire lo standard per i certificati.

Si è verificato un errore CloudFront interno.

CloudFront è stato bloccato da un problema interno e non è stato possibile effettuare controlli di convalida per i certificati. In questo scenario, CloudFront restituisce un codice di stato HTTP 500 e indica che esiste un CloudFront problema interno con l'allegato del certificato. Attendi alcuni minuti, quindi riprova ad aggiungere il nome di dominio alternativo al certificato.

Il certificato che hai collegato non include il nome di dominio alternativo che stai tentando di aggiungere.

Per ogni nome di dominio alternativo che aggiungi, è CloudFront necessario allegare un TLS certificatoSSL/valido rilasciato da un'autorità di certificazione (CA) affidabile che copre il nome di dominio, per convalidare l'autorizzazione all'uso. Aggiorna il certificato per includere un nome di dominio che copra CNAME quello che stai cercando di aggiungere. Per ulteriori informazioni ed esempi di utilizzo di nomi di dominio con caratteri jolly, consulta Requisiti per l'utilizzo di nomi di dominio alternativi.

CloudFront restituisce un errore di DNS record configurato in modo errato quando provo ad aggiungerne uno nuovo CNAME

Quando è presente una DNS voce con caratteri jolly che punta a una CloudFront distribuzione, se provi ad aggiungerne una nuova CNAME con un nome più specifico, potresti riscontrare il seguente errore:

One or more aliases specified for the distribution includes an incorrectly configured DNS record that points to another CloudFront distribution. You must update the DNS record to correct the problem.

Questo errore si verifica perché CloudFront interroga la voce con i caratteri jolly DNS CNAME e la DNS voce con caratteri jolly viene risolta in un'altra distribuzione.

Per risolvere questo problema, create prima un'altra distribuzione, quindi create una DNS voce che punti alla nuova distribuzione. Infine, aggiungi quella più specificaCNAME. Per ulteriori informazioni su come aggiungereCNAMEs, consultaAggiungi un nome di dominio alternativo.

Non posso visualizzare i file nella distribuzione

Se non riesci a visualizzare i file della tua CloudFront distribuzione, consulta gli argomenti seguenti per alcune soluzioni comuni.

Ti sei registrato sia ad Amazon S3 che CloudFront ad Amazon S3?

Per utilizzare Amazon CloudFront con un'origine Amazon S3, devi iscriverti a entrambi CloudFront e ad Amazon S3, separatamente. Per ulteriori informazioni sulla registrazione ad CloudFront Amazon S3, consulta. Configura il tuo Account AWS

Le autorizzazioni per oggetti e il bucket Amazon S3 sono impostati correttamente?

Se utilizzi CloudFront un'origine Amazon S3, le versioni originali dei tuoi contenuti vengono archiviate in un bucket S3. Il modo più semplice da usare CloudFront con Amazon S3 consiste nel rendere tutti gli oggetti leggibili pubblicamente in Amazon S3. A questo proposito, devi attivare esplicitamente privilegi di lettura pubblica per ogni oggetto che carichi in Amazon S3.

Se i tuoi contenuti non sono leggibili pubblicamente, devi creare un controllo di accesso all' CloudFront origine (OAC) in modo che CloudFront possa accedervi. Per ulteriori informazioni sul controllo dell'accesso all' CloudFront origine, consultaLimita l'accesso a un'origine Amazon Simple Storage Service.

Le proprietà di oggetti e le proprietà di bucket sono indipendenti. È necessario concedere esplicitamente i privilegi per ogni oggetto in un bucket Amazon S3. Gli oggetti non ereditano proprietà dai bucket e le proprietà di oggetto devono essere definite indipendentemente dal bucket.

Il tuo nome di dominio alternativo (CNAME) è configurato correttamente?

Se hai già un CNAME record esistente per il tuo nome di dominio, aggiorna quel record o sostituiscilo con uno nuovo che punti al nome di dominio della tua distribuzione.

Inoltre, assicurati che il CNAME record punti al nome di dominio della tua distribuzione, non al tuo bucket Amazon S3. Puoi confermare che il CNAME record nel tuo DNS sistema punti al nome di dominio della tua distribuzione. Per farlo, usa uno DNS strumento comedig.

L'esempio seguente mostra una richiesta dig per un nome di dominio denominato images.example.com e la parte pertinente della risposta. Sotto ANSWER SECTION, esamina la riga che contiene CNAME. Il CNAME record per il tuo nome di dominio è impostato correttamente se il valore sul lato destro di CNAME è il nome di dominio della tua CloudFront distribuzione. Se si tratta del bucket del server di origine Amazon S3 o di un altro nome di dominio, il CNAME record è impostato in modo errato.

[prompt]> dig images.example.com ; <<> DiG 9.3.3rc2 <<> images.example.com ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 15917 ;; flags: qr rd ra; QUERY: 1, ANSWER: 9, AUTHORITY: 2, ADDITIONAL: 0 ;; QUESTION SECTION: ;images.example.com. IN A ;; ANSWER SECTION: images.example.com. 10800 IN CNAME d111111abcdef8.cloudfront.net. ... ...

Per ulteriori informazioni suCNAMEs, consulta. Utilizza la funzionalità personalizzata URLs aggiungendo nomi di dominio alternativi () CNAMEs

Stai facendo riferimento a quello corretto URL per la tua CloudFront distribuzione?

Assicurati URL che il nome a cui fai riferimento utilizzi il nome di dominio (oCNAME) della tua CloudFront distribuzione, non il bucket Amazon S3 o l'origine personalizzata.

Hai bisogno di assistenza per risolvere un problema relativo a un'origine personalizzata?

Se hai bisogno di aiutarti AWS a risolvere i problemi relativi a un'origine personalizzata, probabilmente dovremo controllare le voci di intestazione delle X-Amz-Cf-Id tue richieste. Se non hai già registrato queste voci, ti consigliamo di farlo. Per ulteriori informazioni, consulta Usa Amazon EC2 (o un'altra origine personalizzata). Per ulteriore assistenza, consulta il Centro assistenza di AWS.

<certificate-id>Messaggio di errore: Certificato: è usato da CloudFront

Problema: stai cercando di eliminare un TLS certificatoSSL/dall'archivio IAM certificati e ricevi il messaggio «Certificate: <certificate-id>is being used by» CloudFront.

Soluzione: ogni CloudFront distribuzione deve essere associata al CloudFront certificato predefinito o a un SSL/TLS certificate. Before you can delete an SSL/TLS certificate, you must either rotate the certificate (replace the current custom SSL/TLS certificate with another custom SSL/TLS certificate) or revert from using a custom SSL/TLS certificato personalizzato per utilizzare il CloudFront certificato predefinito. Per risolvere questo problema, completa le fasi in una delle procedure seguenti: