Quelque chose fait que vos fichiers sont demandés à CloudFront avant qu'ils ne soient présents dans le bucket. La configuration par défaut de CloudFront fait en sorte que cela soit mis en cache de manière négative pendant jusqu'à 5 minutes.
Par défaut, lorsque votre origine renvoie un code d'état HTTP 4xx ou 5xx, CloudFront met en cache ces réponses d'erreur pendant cinq minutes, puis soumet la prochaine requête pour l'objet à votre origine pour vérifier si le problème ayant causé l'erreur a été résolu et si l'objet demandé est maintenant disponible.
— http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/custom-error-pages.html
Si le navigateur, ou quoi que ce soit d'autre, essaie de télécharger le fichier à partir de ce bord de CloudFront particulier (ou de tout autre bord, si la requête passe également par le bord régional -- CloudFront a maintenant deux couches de bord) avant que le transfert dans S3 ne soit complet, S3 renverra une erreur, et CloudFront -- à cet emplacement de bord -- mettra cette erreur en cache et se souviendra, pendant les 5 prochaines minutes, de ne pas essayer à nouveau.
Ce minuteur est configurable.
Vous pouvez spécifier la durée de mise en cache des erreurs (le Temps de Mise en Cache Minimum des Erreurs) pour chaque code d'état 4xx et 5xx mis en cache par CloudFront. Pour une procédure, voir Configuration du Comportement des Réponses d'Erreur.
— http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/custom-error-pages.html
Définissez la valeur sur 0 pour tous les codes d'erreur, comme 403, où vous souhaitez désactiver la mise en cache des erreurs.
Le contenu de cette réponse est adapté de mon article original sur Stack Overflow.
0 votes
Le 403 est probablement mis en cache depuis avant la fin du téléchargement.
0 votes
Oui @jordanm a raison, c'est exactement ça. Je pense qu'il y a un doublon ici, mais il pourrait être sur SO. Recherche en cours...
0 votes
Ajoutez
/index.html
dans votre url et vérifiez ?