Hostování statického webu ve službě Azure Storage
Statický obsah (HTML, CSS, JavaScript a soubory obrázků) můžete obsluhovat přímo z kontejneru úložiště s názvem $web. Hostování obsahu ve službě Azure Storage umožňuje používat bezserverové architektury, které zahrnují Azure Functions a další služby PaaS (Platforma jako služba). Hostování statického webu Azure Storage je skvělou volbou v případech, kdy k vykreslení obsahu nepotřebujete webový server.
Statické weby mají určitá omezení. Pokud například chcete nakonfigurovat hlavičky, budete muset použít Azure Content Delivery Network (Azure CDN). V rámci samotné funkce statického webu není možné konfigurovat hlavičky. Ověřovací sítě a AuthZ se také nepodporují.
Pokud jsou tyto funkce pro váš scénář důležité, zvažte použití Azure Static Web Apps. Je to skvělá alternativa ke statickým webům a je vhodná i v případech, kdy k vykreslení obsahu nepotřebujete webový server. Můžete nakonfigurovat hlavičky a ověřování AuthN / AuthZ je plně podporováno. Azure Static Web Apps také poskytuje plně spravovaný pracovní postup kontinuální integrace a průběžného doručování (CI/CD) ze zdroje GitHubu do globálního nasazení.
Pokud k vykreslení obsahu potřebujete webový server, můžete použít službu Aplikace Azure Service.
Nastavení statického webu
Hostování statických webů je funkce, kterou musíte povolit v účtu úložiště.
Pokud chcete povolit hostování statických webů, vyberte název výchozího souboru a pak volitelně zadejte cestu k vlastní stránce 404. Pokud kontejner úložiště objektů blob s názvem $web v účtu ještě neexistuje, vytvoří se pro vás. Přidejte soubory webu do tohoto kontejneru.
Podrobné pokyny najdete v tématu Hostování statického webu ve službě Azure Storage.
Soubory v kontejneru $web rozlišují malá a velká písmena, obsluhují se prostřednictvím anonymních žádostí o přístup a jsou dostupné pouze prostřednictvím operací čtení.
Nahrání obsahu
K nahrání obsahu do kontejneru $web můžete použít kterýkoli z těchto nástrojů:
- Azure CLI
- Modul Azure PowerShellu
- AzCopy
- Azure Storage Explorer
- Azure Pipelines
- Ukázka videa o rozšíření Editoru Visual Studio Code a kanálu 9
Zobrazení obsahu
Uživatelé můžou obsah webu zobrazit z prohlížeče pomocí veřejné adresy URL webu. Adresu URL najdete pomocí webu Azure Portal, Azure CLI nebo PowerShellu. Viz Vyhledání adresy URL webu.
Dokument indexu, který určíte, když povolíte hostování statického webu, se zobrazí, když uživatelé otevřou web a nezadají konkrétní soubor (například: https://contosoblobaccount.z22.web.core.windows.net
).
Pokud server vrátí chybu 404 a při povolení webu jste nezadali dokument chyby, vrátí se uživateli výchozí stránka 404.
Poznámka:
Podpora sdílení prostředků mezi zdroji (CORS) pro Azure Storage není u statického webu podporovaná.
Sekundární koncové body
Pokud nastavíte redundanci v sekundární oblasti, můžete k obsahu webu přistupovat také pomocí sekundárního koncového bodu. Data se replikují do sekundárních oblastí asynchronně. Proto se soubory, které jsou k dispozici v sekundárním koncovém bodu, ne vždy synchronizují se soubory, které jsou k dispozici v primárním koncovém bodu.
Dopad nastavení úrovně přístupu na webový kontejner
Úroveň anonymního přístupu kontejneru $web můžete upravit, ale provedení této změny nemá žádný vliv na primární koncový bod statického webu, protože tyto soubory se obsluhují prostřednictvím anonymních žádostí o přístup. To znamená veřejný (jen pro čtení) přístup ke všem souborům.
I když koncový bod primárního statického webu není ovlivněný, změna úrovně anonymního přístupu má vliv na primární koncový bod služby Blob Service.
Pokud například změníte úroveň anonymního přístupu kontejneru $web z privátního (bez anonymního přístupu) na objekt blob (anonymní přístup jen pro čtení pro objekty blob), úroveň anonymního přístupu k primárnímu koncovému bodu https://contosoblobaccount.z22.web.core.windows.net/index.html
statického webu se nezmění.
Anonymní přístup k primárnímu koncovému bodu https://contosoblobaccount.blob.core.windows.net/$web/index.html
služby blob se ale změní, což uživatelům umožňuje tento soubor otevřít pomocí některého z těchto dvou koncových bodů.
Zakázání anonymního přístupu k účtu úložiště pomocí nastavení anonymního přístupu účtu úložiště nemá vliv na statické weby hostované v daném účtu úložiště. Další informace najdete v tématu Náprava anonymního přístupu pro čtení k datům objektů blob (nasazení Azure Resource Manageru).
Mapování vlastní domény na adresu URL statického webu
Statický web můžete zpřístupnit prostřednictvím vlastní domény.
Pro vaši vlastní doménu je jednodušší povolit přístup HTTP, protože azure Storage ho nativně podporuje. Pokud chcete povolit HTTPS, budete muset použít Azure CDN, protože Azure Storage ještě nativně nepodporuje HTTPS s vlastními doménami. Podrobné pokyny najdete v tématu Mapování vlastní domény na koncový bod služby Azure Blob Storage.
Pokud je účet úložiště nakonfigurovaný tak, aby vyžadoval zabezpečený přenos přes PROTOKOL HTTPS, musí uživatelé používat koncový bod HTTPS.
Tip
Zvažte hostování vaší domény v Azure. Další informace najdete v tématu Hostování domény v Azure DNS.
Přidání hlaviček HTTP
V rámci funkce statického webu není možné konfigurovat hlavičky. Pomocí Azure CDN ale můžete přidat hlavičky a přidávat (nebo přepisovat) hodnoty hlaviček. Viz referenční informace ke stroji standardních pravidel pro Azure CDN.
Pokud chcete k řízení ukládání do mezipaměti použít hlavičky, přečtěte si téma Řízení chování ukládání do mezipaměti v Azure CDN pomocí pravidel ukládání do mezipaměti.
Hostování webů s více oblastmi
Pokud plánujete hostovat web v několika geografických oblastech, doporučujeme pro místní ukládání do mezipaměti použít síť pro doručování obsahu. Azure Front Door použijte, pokud chcete v každé oblasti obsluhovat jiný obsah. Poskytuje také možnosti převzetí služeb při selhání. Azure Traffic Manager se nedoporučuje, pokud plánujete použít vlastní doménu. K problémům může dojít z důvodu toho, jak Azure Storage ověřuje názvy vlastních domén.
Oprávnění
Oprávnění k povolení statického webu je Microsoft.Storage/storageAccounts/blobServices/write nebo sdílený klíč. Součástí předdefinovaných rolí, které poskytují tento přístup, jsou přispěvatel účtu úložiště.
Ceny
Můžete povolit hostování statických webů zdarma. Fakturujete se jenom za úložiště objektů blob, které váš web využívá, a provozní náklady. Další podrobnosti o cenách služby Azure Blob Storage najdete na stránce s cenami služby Azure Blob Storage.
Metriky
Metriky můžete povolit na statických webových stránkách. Po povolení metrik se statistiky provozu u souborů v kontejneru $web zobrazí na řídicím panelu metrik.
Pokud chcete povolit metriky na stránkách statického webu, přečtěte si téma Povolení metrik na statických stránkách webu.
Podpora funkcí
Podpora této funkce může mít vliv na povolení protokolu Data Lake Storage Gen2, systému souborů NFS (Network File System) 3.0 nebo protokolu SSH File Transfer Protocol (SFTP). Pokud jste některou z těchto funkcí povolili, podívejte se na podporu funkcí služby Blob Storage v účtech Azure Storage a vyhodnoťte podporu této funkce.
Nejčastější dotazy
Funguje brána firewall služby Azure Storage se statickým webem?
Ano. Koncový bod statického webu podporuje pravidla zabezpečení sítě účtu úložiště, včetně bran firewall založených na protokolu IP a bran firewall virtuálních sítí, která je možné použít k zajištění ochrany vašeho webu.
Podporují statické weby Microsoft Entra ID?
Ne. Statický web podporuje pouze anonymní přístup pro čtení souborů v kontejneru $web .
Jak mám u statického webu používat vlastní doménu?
Pro statický web můžete nakonfigurovat vlastní doménu s využitím služby Azure Content Delivery Network (Azure CDN). Azure CDN nabízí konzistentně nízkou latenci připojení k vašemu webu odkudkoli na světě.
Návody použít vlastní certifikát SSL (Secure Sockets Layer) se statickým webem?
Můžete pro statický web nakonfigurovat vlastní certifikát SSL s využitím služby Azure CDN. Azure CDN nabízí konzistentně nízkou latenci připojení k vašemu webu odkudkoli na světě.
Jak u statického webu přidat vlastní hlavičky a pravidla?
Hlavičku hostitele pro statický web můžete nakonfigurovat pomocí modulu pravidel Azure CDN. Budeme rádi za vaše názory, o které se můžete podělit tady.
Proč statický web vrací chybu HTTP 404?
K chybě 404 může dojít v případě, že odkazujete na název souboru pomocí nesprávného případu. Například: Index.html
místo index.html
. U názvů souborů a jejich přípon v adrese URL statického webu se rozlišují velká a malá písmena, i když se obsluhují přes HTTP. K tomu může dojít také v případě, že váš koncový bod Azure CDN ještě není zřízený. Po zřízení nového azure CDN počkejte až 90 minut, než se rozšíření dokončí.
Proč se kořenový adresář webu nepřesměrovává na výchozí úvodní stránku?
Na webu Azure Portal otevřete stránku konfigurace statického webu vašeho účtu a vyhledejte název a příponu nastavené v poli Název dokumentu indexu. Ujistěte se, že se tento název přesně shoduje s názvem souboru v kontejneru $web účtu úložiště. U názvů souborů a jejich přípon v adrese URL statického webu se rozlišují velká a malá písmena, i když se obsluhují přes HTTP.