Freigeben über


Hosten von statischen Websites in Azure Storage

Sie können statische Inhalte (HTML, CSS, JavaScript und Bilddateien) direkt über einen Speichercontainer namens $web bereitstellen. Das Hosten von Inhalten in Azure Storage ermöglicht die Verwendung serverloser Architekturen mit Azure Functions und anderen PaaS-Diensten (Platform-as-a-Service). Das statische Hosting von Websites mit Azure Storage ist eine ideale Option für Fälle, in denen Sie keinen Webserver zum Rendern von Inhalten benötigen.

Für statische Websites gelten einige Einschränkungen. Wenn Sie beispielsweise Header konfigurieren möchten, müssen Sie Azure CDN (Azure Content Delivery Network) verwenden. Es gibt keine Möglichkeit, Header im Rahmen des Features für die statische Website selbst zu konfigurieren. Außerdem werden AuthN und AuthZ nicht unterstützt.

Wenn diese Features für Ihr Szenario wichtig sind, sollten Sie die Verwendung von Azure Static Web Apps in Erwägung ziehen. Dies ist eine hervorragende Alternative zu statischen Websites und auch geeignet, wenn Sie keinen Webserver zum Rendern von Inhalten benötigen. Sie können Header konfigurieren, und AuthN/AuthZ wird vollständig unterstützt. Azure Static Web Apps bietet außerdem einen vollständig verwalteten Continuous Integration- und Continuous Delivery-Workflow (CI/CD) von der GitHub-Quelle bis zur globalen Bereitstellung.

Wenn Sie einen Webserver zum Rendern von Inhalten benötigen, können Sie Azure App Serviceverwenden.

Einrichten einer statischen Website

Das Feature zum Hosten statischer Websites muss für das Speicherkonto aktiviert werden.

Wählen Sie hierzu den Namen Ihrer Standarddatei aus, und geben Sie optional einen Pfad zu einer benutzerdefinierten 404-Seite an. Sollte in Ihrem Konto noch kein Blobspeichercontainer namens $web vorhanden sein, wird automatisch einer erstellt. Fügen Sie diesem Container die Dateien Ihrer Website hinzu.

Eine entsprechende Schritt-für-Schritt-Anleitung finden Sie unter Host a static website in Azure Storage (Hosten einer statischen Website in Azure Storage).

Screenshot, der zeigt, wie statisches Websitehosting für ein Speicherkonto mithilfe eines BLOB-Speichercontainers aktiviert wird

Bei Dateien im Container $web wird die Groß-/Kleinschreibung beachtet. Sie werden über anonyme Zugriffsanforderungen bereitgestellt und sind nur über Lesevorgänge verfügbar.

Hochladen von Inhalten

Inhalte können mit einem der folgenden Tools in den Container $web hochgeladen werden:

Anzeigen von Inhalten

Benutzer können Websiteinhalte in einem Browser unter der öffentlichen URL der Website anzeigen. Die URL können Sie im Azure-Portal, über die Azure-Befehlszeilenschnittstelle oder mithilfe von PowerShell ermitteln. Siehe Suchen der Website-URL.

Das Indexdokument, das Sie angeben, wenn Sie das Hosten von statischen Websites aktivieren, wird angezeigt, wenn Benutzer beim Aufrufen der Website keine bestimmte Datei angeben (Beispiel: https://contosoblobaccount.z22.web.core.windows.net).

Wenn der Server einen 404-Fehler zurückgibt und Sie beim Aktivieren der Website kein Fehlerdokument angegeben haben, wird an den Benutzer eine 404-Standardseite zurückgegeben.

Hinweis

Cross-Origin Resource Sharing-Unterstützung (CORS) für Azure Storage wird bei statischen Websites nicht unterstützt.

Sekundäre Endpunkte

Wenn Sie Redundanz in einer sekundären Region einrichten, können Sie auch über einen sekundären Endpunkt auf Websiteinhalte zugreifen. Daten werden asynchron in die sekundären Regionen repliziert. Daher sind die am sekundären Endpunkt verfügbaren Dateien nicht immer mit den Dateien synchron, die auf dem primären Endpunkt verfügbar sind.

Auswirkungen der Einstellung der Zugriffsebene auf dem Webcontainer

Sie können zwar die anonyme Zugriffsebene des Containers $web ändern, diese Änderung hat jedoch keinerlei Auswirkungen auf den primären Endpunkt der statischen Website, da diese Dateien über anonyme Zugriffsanforderungen bereitgestellt werden. Das bedeutet öffentlichen (schreibgeschützten) Zugriff auf alle Dateien.

Der primäre Endpunkt der statischen Website ist von einer Änderung der anonymen Zugriffsebene zwar nicht betroffen, eine solche Änderung hat jedoch Auswirkungen auf den primären Endpunkt des Blobdiensts.

Wenn Sie also beispielsweise die anonyme Zugriffsebene des Containers $web von Privat (kein anonymer Zugriff) in Blob (anonymer Lesezugriff nur für Blobs) ändern, bleibt die anonyme Zugriffsebene für den primären Endpunkt der statischen Website (https://contosoblobaccount.z22.web.core.windows.net/index.html) unverändert.

Anonymer Zugriff auf den primären Blob-Dienstendpunkt https://contosoblobaccount.blob.core.windows.net/$web/index.html ändert sich jedoch, sodass Benutzer*innen diese Datei über einen dieser beiden Endpunkte öffnen können.

Das Deaktivieren des anonymen Zugriffs auf ein Speicherkonto mithilfe der Einstellung für den anonymen Zugriff des Speicherkontos hat keine Auswirkungen auf statische Websites, die in diesem Speicherkonto gehostet werden. Weitere Informationen finden Sie unter Korrigieren des anonymen Lesezugriffs auf Blobdaten (Azure Resource Manager-Bereitstellungen).

Zuordnen einer benutzerdefinierten Domäne zu einer URL einer statischen Website

Sie können Ihre statische Website über eine benutzerdefinierte Domäne verfügbar machen.

Es ist einfacher, den HTTP-Zugriff für Ihre benutzerdefinierte Domäne zu aktivieren, weil dies von Azure Storage nativ unterstützt wird. Zum Aktivieren von HTTPS müssen Sie Azure CDN verwenden, weil Azure Storage HTTPS bei benutzerdefinierten Domänen noch nicht nativ unterstützt. Eine Schritt-für-Schritt-Anleitung finden Sie unter Zuordnen einer benutzerdefinierten Domäne zu einem Azure Blob Storage-Endpunkt.

Wenn das Speicherkonto für die sichere Übertragung über HTTPS konfiguriert ist, müssen Benutzer den HTTPS-Endpunkt verwenden.

Tipp

Ziehen Sie das Hosten Ihrer Domäne in Azure in Betracht. Weitere Informationen finden Sie unter Hosten Ihrer Domäne in Azure DNS.

Hinzufügen von HTTP-Headern

Es gibt keine Möglichkeit, Header im Rahmen des Features für die statische Website zu konfigurieren. Sie können jedoch Azure CDN zum Hinzufügen von Headern und Anfügen (oder Überschreiben) von Headerwerten verwenden. Informationen dazu finden Sie in der Referenz zur Standardregel-Engine für Azure CDN.

Wenn Sie Header zum Steuern der Zwischenspeicherung verwenden möchten, finden Sie Informationen dazu unter Steuern des Azure CDN-Zwischenspeicherverhaltens mit Chacheregeln.

Hosting von Websites in mehreren Regionen

Wenn Sie beabsichtigen, eine Website in mehreren Regionen zu hosten, empfiehlt es sich, ein Content Delivery Network für regionales Zwischenspeichern zu verwenden. Setzen Sie Azure Front Door ein, wenn Sie in den einzelnen Regionen unterschiedliche Inhalte bereitstellen möchten. Zudem werden von dieser Lösung Failoverfunktionen geboten. Azure Traffic Manager wird nicht empfohlen, wenn Sie den Einsatz einer benutzerdefinierten Domäne vorhaben. Probleme können sich daraus ergeben, wie Azure Storage benutzerdefinierte Domänennamen verifiziert.

Berechtigungen

Die Berechtigung zum Aktivieren der statischen Website ist Microsoft.Storage/storageAccounts/blobServices/write oder ein gemeinsam verwendeter Schlüssel. Zu den integrierten Rollen, die diesen Zugriff ermöglichen, gehören Speicherkontomitwirkende.

Preise

Die Aktivierung des Hostings statischer Websites ist kostenlos. Ihnen werden lediglich der von Ihrer Website genutzte Blobspeicher sowie die Betriebskosten in Rechnung gestellt. Weitere Informationen zu Preisen für Azure Blob Storage finden Sie auf der Seite Preise für Azure Blob Storage.

Metriken

Sie können Metriken für Seiten der statischen Website aktivieren. Nachdem Sie Metriken aktiviert haben, werden Datenverkehrsstatistiken zu Dateien im Container $web im Dashboard für Metriken gemeldet.

Informationen zum Aktivieren von Metriken für Seiten Ihrer statischen Website finden Sie unter Enable metrics on static website pages (Aktivieren von Metriken auf Seiten der statischen Website).

Featureunterstützung

Die Unterstützung für dieses Features kann durch die Aktivierung von Data Lake Storage Gen2, dem Network File System (NFS) 3.0-Protokoll oder dem SSH File Transfer Protocol (SFTP) beeinträchtigt werden. Wenn Sie eine dieser Funktionen aktiviert haben, lesen Sie bitte den Abschnitt Unterstützung der Blob Storage-Funktion in Azure Storage-Konten, um die Unterstützung für dieses Features zu bewerten.

Häufig gestellte Fragen (FAQ)

Funktioniert die Azure Storage Firewall mit einer statischen Website?

Ja. Netzwerksicherheitsregeln für das Speicherkonto, einschließlich IP-basierter und VNET-Firewalls, werden für den Endpunkt der statischen Website unterstützt und können zum Schutz Ihrer Website verwendet werden.

Unterstützen statische Websites Microsoft Entra ID?

Nein. Eine statische Website unterstützt nur anonymen Lesezugriff für Dateien im Container $web.

Wie verwende ich eine benutzerdefinierte Domäne mit einer statischen Website?

Derzeit können Sie eine benutzerdefinierte Domäne mit einer statischen Website mithilfe von Microsoft Azure Content Delivery Network (Azure CDN) konfigurieren. Azure CDN ermöglicht für Ihre Website für alle Zugriffe weltweit eine dauerhaft niedrige Latenz.

Wie verwende ich ein benutzerdefiniertes Secure Sockets Layer(SSL)-Zertifikat mit der statischen Website?

Sie können ein benutzerdefiniertes SSL-Zertifikat mit einer statischen Website konfigurieren, indem sie Azure CDN verwenden. Azure CDN ermöglicht für Ihre Website für alle Zugriffe weltweit eine dauerhaft niedrige Latenz.

Wie füge ich benutzerdefinierte Header und Regeln für die statische Website hinzu?

Sie können den Hostheader für eine statische Website konfigurieren, indem Sie Azure CDN-Regel-Engine verwenden. Wir freuen uns auf Ihr Feedback, das Sie uns hier senden können.

Warum erhalte ich einen HTTP 404-Fehler von einer statischen Website?

Ein 404-Fehler kann auftreten, wenn Sie mit einer falschen Schreibweise auf einen Dateinamen verweisen. Beispiel: Index.html statt index.html. Bei Dateinamen und Erweiterungen in der URL einer statischen Website wird die Groß-/Kleinschreibung beachtet, auch wenn Sie über HTTP bereitgestellt werden. Dies kann auch passieren, wenn Ihr Azure CDN-Endpunkt noch nicht bereitgestellt wurde. Warten Sie nach der Bereitstellung eines neuen Azure CDN bis zu 90 Minuten, bis die Weitergabe abgeschlossen ist.

Warum wird das Stammverzeichnis der Website nicht auf die Standardindexseite umgeleitet?

Öffnen Sie im Azure-Portal die Konfigurationsseite der statischen Website Ihres Kontos, und suchen Sie den Namen und die Erweiterung, die im Feld Indexdokumentname festgelegt sind. Stellen Sie sicher, dass dieser Name genau mit dem Namen der Datei im $web-Container des Speicherkontos identisch ist. Bei Dateinamen und Erweiterungen in der URL einer statischen Website wird die Groß-/Kleinschreibung beachtet, auch wenn Sie über HTTP bereitgestellt werden.

Nächste Schritte