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.

Les sites web statiques présentent des limitations. Par exemple, si vous souhaitez configurer des en-têtes, vous devez utiliser Azure CDN (Content Delivery Network). La fonctionnalité de site web statique n’offre aucun moyen de configurer des en-têtes. Par ailleurs, AuthN et AuthZ ne sont pas pris en charge.

Si ces fonctionnalités sont importantes pour votre scénario, envisagez d’utiliser Azure Static Web Apps. Ce service constitue une excellente alternative aux sites web statiques. Il convient également quand vous n’avez pas besoin d’un serveur web pour afficher du contenu. Vous pouvez configurer des en-têtes. AuthN/AuthZ sont entièrement pris en charge. Azure Static Web Apps offre également un workflow CI/CD (intégration continue et livraison continue) 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.

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.

Azure Storage static websites metrics metric

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.

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

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.

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. Les données sont répliquées dans des régions secondaires de manière asynchrone. Par conséquent, 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 sur le conteneur web

Vous pouvez modifier le niveau d’accès anonyme du conteneur $web, mais cette modification 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.

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

Par exemple, si vous modifiez le niveau d’accès anonyme 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 anonyme 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 anonyme au point de terminaison du service blob principal https://contosoblobaccount.blob.core.windows.net/$web/index.html change, ce qui permet aux utilisateurs d’ouvrir ce fichier à l’aide de l’un de ces deux points de terminaison.

La désactivation de l’accès anonyme sur un compte de stockage à l’aide du paramètre d’accès anonyme du compte de stockage n’affecte pas les sites web statiques hébergés dans ce compte de stockage. Pour plus d’informations, consultez Corriger l’accès en lecture anonyme aux données blob (déploiements Azure Resource Manager).

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.

Autorisations

L’autorisation permettant d’activer le site web statique est Microsoft.Storage/storageAccounts/blobServices/clé en écriture ou partagée. Les rôles intégrés qui fournissent cet accès incluent le Contributeur de compte de stockage.

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.

Prise en charge des fonctionnalités

La prise en charge de cette fonctionnalité peut être impactée par l’activation de Data Lake Storage Gen2, du protocole NFS (Network File System) 3.0 ou du protocole SFTP (SSH File Transfer Protocol). Si vous avez activé l’une de ces fonctionnalités, consultez Prise en charge des fonctionnalités Stockage Blob dans les comptes Stockage Azure pour évaluer la prise en charge de cette fonctionnalité.

Forum aux questions (FAQ)

Le pare-feu de stockage Azure fonctionne-t-il avec un site web statique ?

Oui. Les règles de sécurité réseau du compte de stockage, y compris les pare-feu basés sur IP et sur réseaux virtuels, sont prises en charge pour le point de terminaison de site web statique et peuvent être utilisées pour protéger votre site web.

Les sites web statiques prennent-ils en charge Microsoft Entra ID ?

Nombre Les sites web statiques ne prennent en charge l’accès en lecture anonyme des fichiers que dans le conteneur $web.

Comment utiliser un domaine personnalisé avec un site web statique ?

Vous pouvez configurer un domaine personnalisé avec un site web statique en utilisant Azure Content Delivery Network (Azure CDN). Azure CDN fournit une latence faible et cohérente à votre site web partout dans le monde.

Comment utiliser un certificat Secure Sockets Layer (SSL) personnalisé avec un site web statique ?

Vous pouvez configurer un certificat SSL personnalisé avec un site web statique en utilisant Azure CDN. Azure CDN fournit une latence faible et cohérente à votre site web partout dans le monde.

Comment ajouter des règles et des en-têtes personnalisés avec un site web statique ?

Vous pouvez configurer l’en-tête d’hôte pour un site web statique à l’aide d’Azure CDN-Verizon Premium. Nous aimerions avoir votre avis ici.

Pourquoi est-ce que je reçois l’erreur HTTP 404 d’un site web statique ?

Une erreur 404 peut se produire si vous faites référence à un nom de fichier à l’aide d’une casse incorrecte. Par exemple, Index.html au lieu de index.html. Les noms de fichiers et les extensions de l’URL d’un site web statique respectent la casse, même s’ils sont traités sur HTTP. Cela peut également se produire si votre point de terminaison Azure CDN n’est pas encore approvisionné. La propagation peut nécessiter jusqu’à 90 minutes après le provisionnement d’un nouveau CDN Azure.

Pourquoi le répertoire racine du site web n’est-il pas redirigé vers la page d’index par défaut ?

Dans le portail Azure, ouvrez la page de configuration du site web statique de votre compte et recherchez le nom et l’extension définis dans le champ Nom du document d’index. Assurez-vous que ce nom est exactement le même que le nom du fichier situé dans le conteneur $web du compte de stockage. Les noms de fichiers et les extensions de l’URL d’un site web statique respectent la casse, même s’ils sont traités sur HTTP.

Étapes suivantes