Référence pour la configuration d’un site web sur bucket

La configuration d’un site web sur bucket est un ensemble de fichiers que vous pouvez utiliser comme exemples pour votre site web sur bucket.

En effet, une configuration classique de site web sur bucket comprend au moins un fichier HTML d’index et un fichier HTML d’erreur, ainsi qu’un fichier de configuration.

Tandis que le fichier d’index (le plus souvent appelé index.html) est le fichier renvoyé par défaut lorsqu’un utilisateur accède à la racine de votre domaine, le fichier d’erreur (le plus souvent appelé error.html) est le fichier renvoyé lorsqu’une erreur se produit sur votre site web.

En revanche, le fichier de configuration (généralement au format JSON) sert de schéma de conduite à suivre concernant le comportement de votre bucket lorsqu’on y accède en tant que site web. Vous pouvez y spécifier vos fichiers d’index et d’erreur ainsi que d’autres règles de configuration.

Cette page décrit les éléments que vous pouvez spécifier dans la configuration d’un site web. Une fois les fichiers nécessaires rédigés, vous devez les appliquer à votre bucket. Pour en savoir plus, voir Créer un site web sur bucket.

Exemples de fichiers d’index et d’erreur

Il s’agit d’exemples, ce qui signifie qu’ils sont délibérément simplifiés à des fins de test.

Exemple de configuration pour index.html
<!doctype html>
<html>
  <head>
    <title>Mon site web sur bucket</title>
  </head>
  <body>
    <h1>Bonjour et bienvenue sur mon site web sur bucket !</h1>
    <p>Ce site web est statique.</p>
  </body>
</html>
Exemple de configuration pour error.html
<!doctype html>
<html>
  <head>
    <title>404</title>
  </head>
  <body>
    <h1>Oups!</h1>
    <p>Il semble qu'un problème est survenu.</p>
  </body>
</html>

Structure de configuration du site web

Certains attributs sont mutuellement exclusifs lors de la configuration d’un bucket pour l’hébergement d’un site web, ce qui signifie qu’ils ne peuvent pas être utilisés ensemble :

  • RedirectAllRequestsTo et RoutingRules sont incompatibles. En effet, le premier est utile si vous souhaitez que toutes les requêtes vers le bucket soient redirigées vers un seul nom d’hôte (transformant ainsi le bucket entier en une redirection) alors que le second est utilisé pour des redirections plus granulaires basées sur des conditions spécifiques (comme des codes d’erreur ou des préfixes de clés).

  • Parce que RedirectAllRequestsTo redirige toutes les requêtes vers un domaine spécifié, il est aussi naturellement incompatible avec le fait d’avoir un IndexDocument et un ErrorDocument.

Structure de configuration du site web avec des redirections

Structure de configuration possible pour website.json
{
    "RedirectAllRequestsTo": {
        "HostName": "www.example.com",
        "Protocol": "https"
    }
}
Attribut Description

RedirectAllRequestsTo

Lorsque cette option est spécifiée, toutes les requêtes adressées au bucket sont redirigées vers un nom d’hôte spécifique.

HostName

Spécifie le nom de domaine vers lequel tout le trafic du bucket est redirigé, ce qui en fait un paramètre de redirection global.

Protocol

Le protocole à utiliser pour la redirection. Les valeurs possibles sont http ou https.

Structure de configuration du site web avec des règles de routage

Structure de configuration possible pour website.json
{
    "IndexDocument": {
        "Suffix": "index.html"
    },
    "ErrorDocument": {
        "Key": "error.html"
    },
    "RoutingRules": [
        {
            "Condition": {
                "HttpErrorCodeReturnedEquals": "404",
                "KeyPrefixEquals": "old-content/"
            },
            "Redirect": {
                "HostName": "www.example.com",
                "HttpRedirectCode": "302",
                "Protocol": "https",
                "ReplaceKeyPrefixWith": "new-content/"
            }
        },
        {
            "Condition": {
                "HttpErrorCodeReturnedEquals": "404",
                "KeyPrefixEquals": "old-file.html"
            },
            "Redirect": {
                "HostName": "www.example.com",
                "HttpRedirectCode": "302",
                "Protocol": "https",
                "ReplaceKeyWith": "new-file.html"
            }
        }
    ]
}
Attribut Description

IndexDocument

Définit la page par défaut servant de document d’index pour le site web du bucket.

Suffix

Spécifie le nom de fichier du document d’index, généralement index.html.

ErrorDocument

Définit le document d’erreur renvoyé en cas d’erreur client 4xx. Une erreur client 4xx se produit lorsque la demande contient une mauvaise syntaxe ou qu’elle ne peut être traitée.

Key

Spécifie le nom de fichier du document d’erreur, habituellement error.html.

RoutingRules

Définit les règles de redirection des requêtes, sous certaines conditions.

Condition

Définit les conditions sous lesquelles la redirection spécifiée est appliquée.

HttpErrorCodeReturnedEquals

Le code d’erreur HTTP entraînant la redirection. Les codes couramment utilisés sont 404 (Not Found) ou 403 (Forbidden).

KeyPrefixEquals

Le préfixe de la clé de l’objet demandé déclenchant la redirection dans le bucket. Il peut être utilisé pour rediriger les requêtes vers des dossiers ou des fichiers spécifiques. Par exemple, l’utilisation de old-content/ redirigera toutes les requêtes d’objets dans le dossier old-content, tandis que old-file.html redirigera spécifiquement les requêtes vers ce fichier. Cet attribut est particulièrement utile pour mettre en place des redirections conditionnelles basées sur la structure des objets stockés.

Redirect

Spécifie l’action de redirection qui doit être exécutée lorsque la condition est remplie.

HostName

Spécifie le nom de domaine où les requêtes sont redirigées en fonction de conditions spécifiques. Cet attribut est utile pour les redirections ciblées.

HttpRedirectCode

Le code d’état HTTP à renvoyer pour la redirection (301 pour une redirection permanente et 302 pour une redirection temporaire).

Protocol

Le protocole à utiliser pour la redirection. Les valeurs possibles sont http ou https.

ReplaceKeyPrefixWith

Spécifie la chaîne qui remplacera le préfixe de clé correspondant à KeyPrefixEquals dans la requête de redirection.

ReplaceKeyWith

Définit la clé spécifique à utiliser dans la demande de redirection. Elle remplace l’ensemble de la clé correspondant à la condition.