Azure Storage에서 정적 웹 사이트 호스팅 알아보기

완료됨

$web$web이라고 불리는 스토리지 컨테이너에서 직접 정적 콘텐츠(HTML, CSS, JavaScript 및 이미지 파일)를 사용할 수 있습니다. Azure Storage에서 콘텐츠를 호스팅하면 Azure Functions 및 기타 PaaS(Platform as a service) 서비스를 포함하는 서버리스 아키텍처를 사용할 수 있습니다. Azure Storage 고정적인 웹 사이트 호스팅은 웹 서버에서 콘텐츠를 렌더링하지 않아도 되는 경우에 적합한 옵션입니다.

고정적인 웹 사이트에는 몇 가지 제한 사항이 있습니다. 예를 들어 헤더를 구성하려면 Azure Content Delivery Network(Azure CDN)를 사용해야 합니다. 고정적인 웹 사이트 기능 자체의 일부로 헤더를 구성할 수 있는 방법은 없습니다. 또한 AuthN 및 AuthZ는 지원되지 않습니다. 이러한 기능이 시나리오에 중요한 경우 Azure Static Web Apps를 사용하는 것이 좋습니다.

정적 웹 사이트 호스팅 사용

정적 웹 사이트 호스팅은 스토리지 계정에서 사용하도록 설정해야 하는 기능입니다. 정적 웹 사이트를 호스팅하기 위해 계정을 구성하는 경우 Azure Storage에서는 $web이라는 컨테이너를 자동으로 만듭니다. $web 컨테이너에는 정적 웹 사이트에 대한 파일이 포함됩니다.

정적 웹 사이트 호스팅을 사용하도록 설정하려면 다음을 수행합니다.

  1. Azure Portal에서 스토리지 계정을 찾아 계정 개요를 표시합니다.
  2. 정적 웹 사이트를 선택하여 구성 페이지를 표시합니다.
  3. 사용을 선택하여 계정에서 정적 웹 사이트를 호스팅할 수 있습니다.
  4. 인덱스 문서 이름 필드에서 기본 인덱스 페이지를 지정합니다. 예: index.html
  5. 오류 문서 경로 필드에서 기본 오류 페이지를 지정합니다. 예: 404.html
  6. 저장을 선택합니다.

Screenshot showing the locations of the fields to enable and configure static website hosting.

웹 컨테이너의 액세스 수준을 설정하는 경우의 영향

$web 컨테이너의 공용 액세스 수준을 수정할 수 있습니다. 하지만 이렇게 수정하면 익명 액세스 요청을 통해 제공되므로 기본 정적 웹 사이트 엔드포인트에는 영향을 주지 않습니다. 이는 모든 파일에 대한 공용(읽기 전용) 액세스를 의미합니다.

기본 정적 웹 사이트 엔드포인트에는 영향을 주지 않지만 공용 액세스 수준 변경은 주 Blob 서비스 엔드포인트에는 영향을 줍니다.

예를 들어 $web 컨테이너의 공용 액세스 수준을 프라이빗(익명 액세스 없음)에서 Blob(Blob만 익명 읽기 액세스)으로 변경하는 경우 기본 정적 웹 사이트 엔드포인트 https://contosoblobaccount.z22.web.core.windows.net/index.html에 대한 공용 액세스 수준은 변경되지 않습니다.

그러나 기본 Blob 서비스 엔드포인트 https://contosoblobaccount.blob.core.windows.net/$web/index.html에 대한 공용 액세스가 개인에서 공용으로 변경됩니다. 이제 사용자는 이들 두 엔드포인트 중 하나를 사용하여 해당 파일을 열 수 있습니다.

스토리지 계정의 공용 액세스 설정을 사용하여 스토리지 계정에 대한 공용 액세스를 사용하지 않도록 설정해도 해당 스토리지 계정에 호스트되는 정적 웹 사이트에는 영향을 주지 않습니다. 자세한 내용은 익명 공용 읽기 액세스를 Blob 데이터로 수정(Azure Resource Manager 배포)을 참조하세요.

정적 웹 사이트 URL에 사용자 지정 도메인 매핑

사용자 지정 도메인을 통해 정적 웹 사이트를 사용할 수 있도록 설정할 수 있습니다.

Azure Storage에서 기본적으로 지원하므로 사용자 지정 도메인에 대해 HTTP 액세스를 사용하는 것이 더 쉽습니다. HTTPS를 사용하려면 Azure CDN을 사용해야 합니다. Azure Storage는 기본적으로 사용자 지정 도메인에 대해 HTTPS를 지원하지 않습니다. 단계별 지침은 Azure Blob Storage 엔드포인트 사용자 지정 도메인 매핑을 참조하세요.