Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Spécification d’un objet racine par défaut
Vous pouvez configurer CloudFront pour renvoyer un objet spécifique (l’objet racine par défaut) lorsqu’un utilisateur demande l’URL racine pour votre distribution plutôt qu’un objet de votre distribution. Vous pouvez utiliser un objet racine par défaut pour éviter d’exposer le contenu de votre distribution.
Table des matières
Comment spécifier un objet racine par défaut
Pour éviter d’exposer le contenu de votre distribution ou de renvoyer une erreur, spécifiez un objet racine par défaut pour votre distribution. Vous pouvez spécifier le nom exact du fichier ou le chemin d’accès au fichier. Par exemple, si votre objet racine est un fichier index.html, vous pouvez spécifier ce nom de fichier. Si votre fichier index.html se trouve dans un autre dossier, spécifiez plutôt le chemin, tel que . Si vous définissez un chemin pour l’objet racine par défaut, les demandes des utilisateurs adressées à l’URL racine de la distribution renverront le fichier spécifié à partir de ce chemin. Vous pouvez utiliser un chemin de fichier pour disposer de plus de flexibilité dans l’organisation de votre contenu à l’origine, car votre objet racine par défaut peut se trouver dans un dossier plutôt qu’à la racine. exampleFolderName/index.html
Pour spécifier un objet racine par défaut pour votre distribution
-
Chargez l’objet racine par défaut sur l’origine sur laquelle pointe votre distribution.
Le fichier peut être de n’importe quel type pris en charge par CloudFront. Pour obtenir la liste des contraintes appliquées au nom du fichier, consultez l’élément
DefaultRootObjectdans DistributionConfig de la Référence des API Amazon CloudFront.Note
Si le nom de fichier de l’objet racine par défaut est trop long ou contient un caractère non valide, CloudFront renvoie l’erreur
HTTP 400 Bad Request - InvalidDefaultRootObject. En outre, CloudFront met en cache le code pendant 10 secondes (par défaut) et écrit les résultats dans les journaux d’accès. -
Vérifiez que les autorisations sur l’objet accordent à CloudFront au moins un accès en lecture.
Pour plus d’informations sur les autorisations Amazon S3, consultez Gestion des autorisations d’accès à vos ressources Amazon S3 dans le Guide du développeur Amazon Simple Storage Service.
-
Mettez à jour votre distribution pour faire référence à l’objet racine par défaut à l’aide de la console CloudFront ou de l’API CloudFront.
Pour spécifier un objet racine par défaut à l’aide de la console CloudFront :
Connectez-vous à AWS Management Console et ouvrez la console CloudFront à l’adresse https://console.aws.amazon.com/cloudfront/v4/home
. -
Dans le volet supérieur de la liste de distributions, sélectionnez la distribution à mettre à jour.
-
Dans le volet Paramètres, sous l’onglet Général, sélectionnez Modifier.
-
Dans la boîte de dialogue Modifier les paramètres, dans le champ Objet racine par défaut, entrez le nom de fichier ou le chemin de l’objet racine par défaut.
Astuce
Votre chaîne ne peut pas commencer par une barre oblique (
/). Indiquez uniquement le nom de l’objet ou le chemin menant à cet objet. Par exemple, utilisezindex.htmlou. Si vous spécifiezexampleFolderName/index.html/ouexampleFolderName/index.html/index.html, vous risquez d’obtenir une erreur 403 Accès refusé. -
Sélectionnez Enregistrer les modifications.
Pour mettre à jour votre configuration à l’aide de l’API CloudFront, spécifiez une valeur pour l’élément
DefaultRootObjectde votre distribution. Pour plus d’informations sur l’utilisation de l’API CloudFront pour spécifier un objet racine par défaut, consultez UpdateDistribution dans la Référence des API Amazon CloudFront. -
Vérifiez que vous avez activé l’objet racine par défaut en demandant votre URL racine. Si votre navigateur n’affiche pas l’objet racine par défaut, effectuez les opérations suivantes :
-
Vérifiez que votre distribution est entièrement déployée en affichant le statut de votre distribution sur la console CloudFront.
-
Répétez les étapes 2 et 3 pour vérifier que vous avez accordé les autorisations correctes et que vous avez correctement mis à jour la configuration de votre distribution pour spécifier l’objet racine par défaut.
-
Fonctionnement de l'objet racine par défaut
Imaginons que la requête suivante pointe vers l’objet image.jpg:
https://d111111abcdef8.cloudfront.net/image.jpg
En revanche, la requête suivante pointe vers l’URL racine de la même distribution plutôt que sur un objet particulier, comme dans le premier exemple :
https://d111111abcdef8.cloudfront.net/
Lorsque vous définissez un objet racine par défaut, une demande d’utilisateur final qui appelle la racine de votre distribution renvoie l’objet racine par défaut. Par exemple, si vous désignez le fichier index.html comme objet racine par défaut, une demande pour :
https://d111111abcdef8.cloudfront.net/
Renvoie:
https://d111111abcdef8.cloudfront.net/index.html
Note
CloudFront ne détermine pas si une URL comportant plusieurs barres obliques (https://d111111abcdef8.cloudfront.net///) est équivalente à https://d111111abcdef8.cloudfront.net/. C'est votre serveur d'origine qui effectue cette comparaison.
Si vous définissez un objet racine par défaut, une demande d'utilisateur final pour un sous-répertoire de votre distribution ne renvoie pas l'objet racine par défaut. Par exemple, supposons que index.html est votre objet racine par défaut et que CloudFront reçoit une demande d’utilisateur final pour un répertoire install sous votre distribution CloudFront :
https://d111111abcdef8.cloudfront.net/install/
CloudFront ne renvoie pas l’objet racine par défaut même si une copie de index.html apparaît dans le répertoire install. En revanche, si vous avez défini votre objet racine par défaut avec le chemin (install/index.html), CloudFront retournera cet objet pour les demandes des utilisateurs finaux adressées au répertoire install
Si vous configurez votre distribution pour autoriser toutes les méthodes HTTP prises en charge par CloudFront, l’objet racine par défaut s’applique à toutes les méthodes. Par exemple, si votre objet racine par défaut est index.php et que vous écrivez votre application pour soumettre une demande POST à la racine de votre domaine (https://example.com), CloudFront envoie la demande à https://example.com/index.php.
Le comportement de l’objet racine par défaut CloudFront est différent de celui des documents d’index Amazon S3. Lorsque vous configurez un compartiment Amazon S3 comme site web et que vous spécifiez le document d’index, Amazon S3 renvoie le document d’index même si un utilisateur demande un sous-répertoire du compartiment. (Une copie du document d’index doit apparaître dans chaque sous-répertoire.) Pour plus d’informations sur la configuration de compartiments Amazon S3 en tant que sites web et sur les documents d’index, consultez le chapitre Hébergement de sites web sur Amazon S3 dans le Guide de l’utilisateur Amazon Simple Storage Service.
Important
Souvenez-vous qu’un objet racine par défaut s’applique uniquement à votre distribution CloudFront. Vous devez quand-même gérer la sécurité pour votre origine. Par exemple, si vous utilisez une origine Amazon S3, vous devez quand-même définir vos ACL de compartiment Amazon S3 de façon appropriée pour assurer le niveau d’accès souhaité sur votre compartiment.
Fonctionnement de CloudFront si vous ne définissez pas d’objet racine
Si vous ne définissez pas un objet racine par défaut, des demandes pour la racine de votre distribution sont transmises à votre serveur d’origine. Si vous utilisez une origine Amazon S3, l’un des éléments suivants peut être renvoyé :
-
Une liste des contenus de votre compartiment Amazon S3 – Sous l’une des conditions suivantes, les contenus de votre origine sont visibles pour quiconque utilise CloudFront pour accéder à votre distribution :
-
Votre compartiment n’est pas correctement configuré.
-
Les autorisations Amazon S3 sur le compartiment associé à votre distribution et sur les objets du compartiment accordent l’accès à quiconque.
-
Un utilisateur final accède à votre origine à l’aide de l’URL racine de votre origine.
-
-
Une liste des contenus privés de votre origine – Si vous configurez votre origine en tant que distribution privée (seuls CloudFront et vous-même y avez accès), les contenus du compartiment Amazon S3 associé à votre distribution sont visibles pour quiconque dispose des informations d’identification permettant d’accéder à votre distribution via CloudFront. Dans ce cas, les utilisateurs ne peuvent pas accéder à vos contenus via l’URL racine de votre origine. Pour plus d’informations sur la distribution de contenus privés, consultez Diffusez du contenu privé avec des cookies signés URLs et signés.
-
Error 403 Forbidden: CloudFront renvoie cette erreur si les autorisations sur le compartiment Amazon S3 associé à votre distribution ou les autorisations sur les objets de ce compartiment refusent à quiconque l’accès à CloudFront.