Hostowanie statycznej witryny internetowej w usłudze Azure Storage
Zawartość statyczną (PLIKI HTML, CSS, JavaScript i image) można udostępniać bezpośrednio z kontenera magazynu o nazwie $web. Hostowanie zawartości w usłudze Azure Storage umożliwia korzystanie z architektur bezserwerowych, które obejmują usługę Azure Functions i inne usługi PaaS .Hosting zawartości w usłudze Azure Storage. Hostowanie statycznej witryny internetowej usługi Azure Storage jest doskonałym rozwiązaniem w przypadkach, w których nie jest wymagany serwer internetowy do renderowania zawartości.
Statyczne witryny internetowe mają pewne ograniczenia. Jeśli na przykład chcesz skonfigurować nagłówki, musisz użyć usługi Azure Content Delivery Network (Azure CDN). Nie ma możliwości konfigurowania nagłówków w ramach samej funkcji statycznej witryny internetowej. Ponadto AuthN i AuthZ nie są obsługiwane.
Jeśli te funkcje są ważne w twoim scenariuszu, rozważ użycie usługi Azure Static Web Apps. Jest to świetna alternatywa dla statycznych witryn internetowych i jest również odpowiednia w przypadkach, gdy nie trzeba renderować zawartości przez serwer internetowy. Można skonfigurować nagłówki i AuthN / AuthZ jest w pełni obsługiwane. Usługa Azure Static Web Apps udostępnia również w pełni zarządzany przepływ pracy ciągłej integracji i ciągłego dostarczania (CI/CD) ze źródła usługi GitHub do wdrożenia globalnego.
Jeśli potrzebujesz serwera internetowego do renderowania zawartości, możesz użyć usługi aplikacja systemu Azure Service.
Konfigurowanie statycznej witryny internetowej
Hostowanie statycznej witryny internetowej to funkcja, którą musisz włączyć na koncie magazynu.
Aby włączyć hosting statycznej witryny internetowej, wybierz nazwę pliku domyślnego, a następnie opcjonalnie podaj ścieżkę do niestandardowej strony 404. Jeśli kontener magazynu obiektów blob o nazwie $web jeszcze nie istnieje na koncie, zostanie utworzony dla Ciebie. Dodaj pliki witryny do tego kontenera.
Aby uzyskać szczegółowe wskazówki, zobacz Hostowanie statycznej witryny internetowej w usłudze Azure Storage.
Pliki w kontenerze $web są uwzględniane wielkości literami, obsługiwane za pośrednictwem żądań dostępu anonimowego i są dostępne tylko za pośrednictwem operacji odczytu.
Przekazywanie zawartości
Aby przekazać zawartość do kontenera $web , możesz użyć dowolnego z tych narzędzi:
Wyświetlanie zawartości
Użytkownicy mogą wyświetlać zawartość witryny z przeglądarki przy użyciu publicznego adresu URL witryny internetowej. Adres URL można znaleźć przy użyciu witryny Azure Portal, interfejsu wiersza polecenia platformy Azure lub programu PowerShell. Zobacz Znajdowanie adresu URL witryny sieci Web.
Dokument indeksu określony podczas włączania hostowania statycznej witryny internetowej jest wyświetlany, gdy użytkownicy otwierają witrynę i nie określają określonego pliku (na przykład: https://contosoblobaccount.z22.web.core.windows.net
).
Jeśli serwer zwraca błąd 404 i nie określono dokumentu o błędzie po włączeniu witryny internetowej, domyślna strona 404 zostanie zwrócona użytkownikowi.
Uwaga
Obsługa współużytkowania zasobów między źródłami (CORS) dla usługi Azure Storage nie jest obsługiwana w statycznej witrynie internetowej.
Pomocnicze punkty końcowe
Jeśli skonfigurujesz nadmiarowość w regionie pomocniczym, możesz również uzyskać dostęp do zawartości witryny internetowej przy użyciu pomocniczego punktu końcowego. Dane są replikowane do regionów pomocniczych asynchronicznie. W związku z tym pliki dostępne w pomocniczym punkcie końcowym nie zawsze są synchronizowane z plikami dostępnymi w podstawowym punkcie końcowym.
Wpływ ustawienia poziomu dostępu w kontenerze internetowym
Można zmodyfikować anonimowy poziom dostępu kontenera $web , ale wprowadzenie tej modyfikacji nie ma wpływu na podstawowy statyczny punkt końcowy witryny internetowej, ponieważ te pliki są obsługiwane za pośrednictwem anonimowych żądań dostępu. Oznacza to publiczny (tylko do odczytu) dostęp do wszystkich plików.
Chociaż podstawowy statyczny punkt końcowy witryny internetowej nie ma wpływu, zmiana poziomu dostępu anonimowego ma wpływ na podstawowy punkt końcowy usługi obiektów blob.
Jeśli na przykład zmienisz poziom dostępu anonimowego kontenera $web z prywatnego (bez dostępu anonimowego) do obiektu blob (tylko dostęp do odczytu anonimowego dla obiektów blob), poziom dostępu anonimowego do podstawowego statycznego punktu końcowego https://contosoblobaccount.z22.web.core.windows.net/index.html
witryny internetowej nie ulegnie zmianie.
Jednak anonimowy dostęp do podstawowego punktu końcowego https://contosoblobaccount.blob.core.windows.net/$web/index.html
usługi obiektów blob zmienia się, umożliwiając użytkownikom otwieranie tego pliku przy użyciu jednego z tych dwóch punktów końcowych.
Wyłączenie dostępu anonimowego na koncie magazynu przy użyciu ustawienia dostępu anonimowego konta magazynu nie ma wpływu na statyczne witryny internetowe hostowane na tym koncie magazynu. Aby uzyskać więcej informacji, zobacz Korygowanie anonimowego dostępu do odczytu do danych obiektów blob (wdrożenia usługi Azure Resource Manager).
Mapowanie domeny niestandardowej na statyczny adres URL witryny internetowej
Statyczną witrynę internetową można udostępnić za pośrednictwem domeny niestandardowej.
Łatwiej jest włączyć dostęp HTTP dla domeny niestandardowej, ponieważ usługa Azure Storage natywnie ją obsługuje. Aby włączyć protokół HTTPS, musisz użyć usługi Azure CDN, ponieważ usługa Azure Storage nie obsługuje jeszcze natywnie protokołu HTTPS z domenami niestandardowymi. Zobacz Mapowanie domeny niestandardowej na punkt końcowy usługi Azure Blob Storage, aby uzyskać szczegółowe wskazówki.
Jeśli konto magazynu jest skonfigurowane do wymagania bezpiecznego transferu za pośrednictwem protokołu HTTPS, użytkownicy muszą używać punktu końcowego HTTPS.
Napiwek
Rozważ hostowanie domeny na platformie Azure. Aby uzyskać więcej informacji, zobacz Hostowanie domeny w usłudze Azure DNS.
Dodawanie nagłówków HTTP
Nie ma możliwości konfigurowania nagłówków w ramach funkcji statycznej witryny internetowej. Można jednak użyć usługi Azure CDN do dodawania nagłówków i dołączania (lub zastępowania) wartości nagłówków. Zobacz Standardowa dokumentacja aparatu reguł dla usługi Azure CDN.
Jeśli chcesz użyć nagłówków do kontrolowania buforowania, zobacz Kontrolowanie zachowania buforowania usługi Azure CDN przy użyciu reguł buforowania.
Hostowanie witryny internetowej w wielu regionach
Jeśli planujesz hostować witrynę internetową w wielu lokalizacjach geograficznych, zalecamy użycie sieci dostarczania zawartości na potrzeby buforowania regionalnego. Użyj usługi Azure Front Door , jeśli chcesz obsługiwać inną zawartość w każdym regionie. Zapewnia również możliwości trybu failover. Usługa Azure Traffic Manager nie jest zalecana, jeśli planujesz używać domeny niestandardowej. Problemy mogą wystąpić z powodu weryfikowania niestandardowych nazw domen przez usługę Azure Storage.
Uprawnienia
Uprawnieniem umożliwiającym włączenie statycznej witryny internetowej jest Microsoft.Storage/storageAccounts/blobServices/write lub klucz udostępniony. Wbudowane role, które zapewniają ten dostęp, obejmują współautora konta magazynu.
Cennik
Możesz bezpłatnie włączyć hostowanie statycznej witryny internetowej. Opłaty są naliczane tylko za magazyn obiektów blob używanych przez witrynę i koszty operacji. Aby uzyskać więcej informacji na temat cen usługi Azure Blob Storage, zapoznaj się ze stroną cennika usługi Azure Blob Storage.
Metryki
Metryki można włączyć na statycznych stronach witryny internetowej. Po włączeniu metryk statystyki ruchu dotyczące plików w kontenerze $web są raportowane na pulpicie nawigacyjnym metryk.
Aby włączyć metryki na statycznych stronach witryny internetowej, zobacz Włączanie metryk na statycznych stronach witryny internetowej.
Obsługa funkcji
Może to mieć wpływ na obsługę tej funkcji przez włączenie protokołu Data Lake Storage Gen2, sieciowego systemu plików (NFS) 3.0 lub protokołu SSH File Transfer Protocol (SFTP). Jeśli włączono dowolną z tych funkcji, zobacz Obsługa funkcji usługi Blob Storage na kontach usługi Azure Storage, aby ocenić obsługę tej funkcji.
Często zadawane pytania
Czy zapora usługi Azure Storage współdziała ze statyczną witryną internetową?
Tak. Reguły zabezpieczeń sieci konta magazynu, w tym zapory bazujące na adresach IP i sieci wirtualnej, są obsługiwane w przypadku punktu końcowego statycznej witryny internetowej i mogą być używane do ochrony witryny internetowej.
Czy statyczne witryny internetowe obsługują usługę Microsoft Entra ID?
L.p. Statyczna witryna internetowa obsługuje tylko anonimowy dostęp do odczytu plików w kontenerze $web .
Jak używać domeny niestandardowej ze statyczną witryną internetową?
Można skonfigurować domenę niestandardową ze statyczną witryną internetową przy użyciu usługi Azure Content Delivery Network (Azure CDN). Usługa Azure CDN niezawodnie zapewnia małe opóźnienia połączenia z witryną internetową z dowolnego miejsca na świecie.
Jak mogę używać niestandardowego certyfikatu protokołu SSL (Secure Sockets Layer) ze statyczną witryną internetową?
Niestandardowy certyfikat SSL można skonfigurować ze statyczną witryną internetową przy użyciu usługi Azure CDN. Usługa Azure CDN niezawodnie zapewnia małe opóźnienia połączenia z witryną internetową z dowolnego miejsca na świecie.
Jak dodawać nagłówki niestandardowe i reguły w statycznej witrynie internetowej?
Nagłówek hosta dla statycznej witryny internetowej można skonfigurować przy użyciu aparatu reguł usługi Azure CDN. Chcemy poznać Twoją opinię w tym miejscu.
Dlaczego otrzymuję błąd HTTP 404 ze statycznej witryny internetowej?
Błąd 404 może wystąpić, jeśli odwołujesz się do nazwy pliku przy użyciu nieprawidłowego przypadku. Na przykład: Index.html
zamiast index.html
. W nazwach plików i rozszerzeniach w adresie URL statycznej witryny internetowej uwzględniana jest wielkość liter, mimo że są one obsługiwane przez protokół HTTP. Może się to również zdarzyć, jeśli punkt końcowy usługi Azure CDN nie został jeszcze aprowizowany. Poczekaj do 90 minut po aprowizacji nowej usługi Azure CDN, aby propagacja została ukończona.
Dlaczego katalog główny witryny internetowej nie przekierowuje do domyślnej strony indeksu?
W witrynie Azure Portal otwórz stronę konfiguracji statycznej witryny internetowej swojego konta, a następnie znajdź nazwę i rozszerzenie, które ustawiono w polu Nazwa dokumentu indeksu. Upewnij się, że ta nazwa jest dokładnie taka sama jak nazwa pliku znajdującego się w kontenerze $web konta magazynu. W nazwach plików i rozszerzeniach w adresie URL statycznej witryny internetowej uwzględniana jest wielkość liter, mimo że są one obsługiwane przez protokół HTTP.