Hébergement de sites web statiques dans le service Stockage Azure

Vous pouvez servir du contenu statique (fichiers HTML, CSS, JavaScript et images) directement à partir d’un conteneur de stockage nommé $web. L’hébergement de votre contenu dans le stockage Azure vous permet d’utiliser des architectures serverless qui incluent Azure Functions et d’autres services Paas (Platform as a service). L’hébergement de site web statique dans le stockage Azure est une option intéressante quand vous n’avez pas besoin d’un serveur web pour restituer du contenu.

App Service Static Web Apps constitue une excellente alternative à l’hébergement de site web statique dans le stockage Azure et sont également appropriées quand vous n’avez pas besoin d’un serveur web pour restituer du contenu. App Service Static Web Apps vous offre un workflow d’intégration continue et de livraison continue (CI/CD) complètement managé, de la source GitHub au déploiement global.

Si vous avez besoin d’un serveur web pour restituer du contenu, vous pouvez utiliser Azure App Service.

Notes

Les fonctionnalités décrites dans cet article sont également disponibles pour les comptes dotés d’un espace de noms hiérarchique. Pour savoir quelles sont les limitations, consultez l’article Fonctionnalités de stockage blob disponibles dans Azure Data Lake Storage Gen2.

Configuration d’un site web statique

L’hébergement de site web statique est une fonctionnalité que vous devez activer sur le compte de stockage.

Pour activer l’hébergement de site web statique, sélectionnez le nom de votre fichier par défaut puis, le cas échéant, fournissez un chemin à une page 404 personnalisée. Si un conteneur de stockage d’objets blob nommé $web n’existe pas déjà dans le compte, il est créé pour vous. Ajoutez les fichiers de votre site à ce conteneur.

Pour obtenir des instructions détaillées, consultez Héberger un site web statique dans le stockage Azure.

Métrique des métriques de sites web statiques dans Stockage Azure

Les fichiers présents dans le conteneur $web respectent la casse ; ils sont pris en charge par le biais de requêtes d’accès anonyme et sont disponibles uniquement par l’intermédiaire d’opérations de lecture.

Téléchargement de contenu

Vous pouvez utiliser un de ces outils pour charger du contenu sur le conteneur $web :

Affichage du contenu

Les utilisateurs peuvent afficher le contenu du site dans un navigateur en utilisant l’URL publique du site web. Vous trouvez cette URL à l’aide du portail Azure, de PowerShell ou d’Azure CLI. Voir Trouver l’URL du site web.

Si le serveur retourne une erreur 404, et que vous n’avez spécifié aucun document d’erreur lorsque vous avez activé le site web, une page 404 par défaut est retournée à l’utilisateur.

Notes

Le service Partage des ressources cross-origine (CORS) pour Stockage Azure n’est pas pris en charge avec les sites web statiques.

Codes régionaux

L’URL de votre site contient un code régional. Par exemple, l’URL https://contosoblobaccount.z22.web.core.windows.net/ contient le code de région z22.

Même si ce code doit demeurer dans l’URL, il n’est destiné qu’à un usage interne, et vous n’aurez pas à l’utiliser de quelque autre manière que ce soit.

Le document d’index, que vous spécifiez lorsque vous activez l’hébergement de site web statique, s’affiche lorsque les utilisateurs ouvrent le site et ne spécifient aucun fichier en particulier (par exemple : https://contosoblobaccount.z22.web.core.windows.net).

Points de terminaison secondaires

Si vous configurez la redondance dans une région secondaire, vous pouvez également accéder au contenu du site web à l’aide d’un point de terminaison secondaire. Dans la mesure où les données sont répliquées de façon asynchrone dans des régions secondaires, les fichiers disponibles au niveau du point de terminaison secondaire ne sont pas toujours synchronisés avec ceux qui sont disponibles sur le point de terminaison principal.

Impact de la définition du niveau d’accès public du conteneur web

Vous pouvez modifier le niveau d’accès public du conteneur $web, mais cela n’a aucun impact sur le point de terminaison principal du site web statique, car ces fichiers sont pris en charge par le biais de requêtes d’accès anonyme. Cela signifie un accès public (en lecture seule) à tous les fichiers.

La capture d’écran suivante montre la définition du niveau d’accès public dans le portail Azure :

Capture d’écran illustrant la façon de définir le niveau d’accès public dans le portail

Si le point de terminaison principal du site web statique n’est pas affecté, en revanche, une modification du niveau d’accès public a bien une incidence sur le point de terminaison principal du service Blob.

Par exemple, si vous modifiez le niveau d’accès public du conteneur $web en le passant de Privé (aucun accès anonyme) à Blob (accès en lecture anonyme pour les objets Blob uniquement) , le niveau d’accès public au point de terminaison principal du site web statique https://contosoblobaccount.z22.web.core.windows.net/index.html ne change pas.

Toutefois, l’accès public au point de terminaison principal du service Blob https://contosoblobaccount.blob.core.windows.net/$web/index.html passe, lui, de privé à public. Désormais, les utilisateurs peuvent ouvrir ce fichier à l’aide, au choix, d’un de ces deux points de terminaison.

La désactivation de l’accès public sur un compte de stockage n’affecte pas les sites web statiques hébergés dans ce compte de stockage. Pour en savoir plus, consultez la section Configure anonymous public read access for containers and blobs (Configurer l’accès en lecture publique anonyme pour les conteneurs et les objets blob).

Mappage d’un domaine personnalisé à une URL de site web statique

Vous pouvez rendre votre site web statique disponible via un domaine personnalisé.

Stockage Azure prenant en charge votre domaine personnalisé en mode natif, l'accès HTTP est plus facile à activer. Pour activer HTTPS, vous devez utiliser Azure CDN car Stockage Azure ne prend pas encore en charge HTTPS avec les domaines personnalisés en mode natif. Pour obtenir des instructions pas à pas, consultez Mapper un domaine personnalisé à un point de terminaison du Stockage Blob Azure.

Si le compte de stockage est configuré pour exiger un transfert sécurisé via HTTPS, les utilisateurs doivent utiliser le point de terminaison HTTPS.

Conseil

Envisagez l'hébergement de votre domaine sur Azure. Pour plus d’informations, consultez Héberger votre domaine dans Azure DNS.

Ajout d’en-têtes HTTP

La fonctionnalité de site web statique n’offre aucun moyen de configurer des en-têtes. Toutefois, vous pouvez utiliser Azure CDN pour ajouter des en-têtes et ajouter (ou remplacer) des valeurs d’en-tête. Consultez Informations de référence sur le moteur de règles standard pour Azure CDN.

Si vous souhaitez utiliser des en-têtes pour contrôler la mise en cache, consultez Contrôler le comportement de mise en cache d’Azure CDN avec des règles de mise en cache.

Hébergement de site web multirégion

Si vous envisagez d’héberger un site web dans plusieurs zones géographiques, nous vous recommandons d’utiliser un réseau de distribution de contenu pour la mise en cache régionale. Utilisez Azure Front Door si vous souhaitez proposer un contenu différent dans chaque région. Il fournit également des fonctionnalités de basculement. Azure Traffic Manager n’est pas recommandé si vous envisagez d’utiliser un domaine personnalisé. Des problèmes peuvent survenir en raison de la manière dont le stockage Azure vérifie les noms des domaines personnalisés.

Tarifs

L’activation de l’hébergement de site web statique est gratuite. Vous êtes facturé uniquement pour le stockage des objets blob qu’utilise votre site et pour les coûts d’exploitation. Pour plus de détails sur les prix du stockage Blob Azure, consultez la page relative aux tarifs du stockage Blob Azure.

Mesures

Vous pouvez activer les métriques sur des pages de site web statique. Une fois les métriques activées, les statistiques de trafic relatives aux fichiers du conteneur $web sont signalées dans le tableau de bord des métriques.

Pour activer les métriques sur les pages de votre site web statique, consultez Activer les métriques sur des pages de site web statique.

Étapes suivantes