DEV Community

Cover image for How to Host a Public Website Using Azure Blob Storage
forsyth famous
forsyth famous

Posted on

How to Host a Public Website Using Azure Blob Storage

What is Hosting a Website in Azure Storage?

Before deploying a public website, it’s important to understand what this means in the context of Azure.

In Microsoft Azure, Blob Storage isn’t just for storing files, it can also serve static content directly over the internet.

This allows you to host content such as:

  • HTML pages
  • CSS stylesheets
  • JavaScript files
  • Images and media

All without needing to manage a traditional web server.

Think of it as turning your storage account into a lightweight, globally accessible web host.

Why This Matters

Hosting a static website using Azure Storage is:

  • Cost-effective – no need for virtual machines or app services
  • Scalable – Azure handles traffic automatically
  • Simple to deploy – upload files and go live

But here’s the catch, just like we discussed in my previous post, storage accounts are globally accessible by default unless configured otherwise. That means the moment you enable public access, you’re making content available to anyone with the link.

If you haven’t already, check out my previous article where I break down what a storage account is and how to create one:

That foundation will make the concepts in this guide much easier to follow, especially when working with containers and access levels.

Setting Up the Scenario

Now that we understand the concept, let’s get practical.

The goal isn’t just to get a website running or exposing a file or image to the internet from a storage account, it’s about understanding how to do it securely and responsibly in a real-world cloud environment.

Now let’s walk through how to actually set this up step by step.

Create a storage account with high availability.

  1. Create a storage account to support the public website.

    • In the portal, search for and select Storage accounts. storage
    • Select + Create. create
    • For resource group select new. Give your resource group a name and select OK. new rg
    • Set the Storage account name to publicwebsite. Make sure the storage account name is unique by adding an identifier. storage name
    • Take the defaults for other settings. defaults
    • Select Review and then Create. Review Create
    • Wait for the storage account to deploy, and then select Go to resource. resource
  2. This storage requires high availability if there’s a regional outage. Additionally, enable read access to the secondary region.

    • In the storage account, in the Data management section, select the Redundancy blade. redundancy
    • Ensure Read-access Geo-redundant storage is selected. Geo-redund
    • Review the primary and secondary location information. Locations
  3. Information on the public website should be accessible without requiring customers to login.

    • In the storage account, in the Settings section, select the Configuration blade. Configurations
    • Ensure the Allow blob anonymous access setting is Enabled. anonymous
    • Be sure to Save your changes. Save

Create a blob storage container with anonymous read access

  1. The public website has various images and documents. Create a blob storage container for the content.

    • In your storage account, in the Data storage section, select the Containers blade. Data storage
    • Select + Container. +container
    • Ensure the Name of the container is public. Public
    • Select Create. Create
  2. Customers should be able to view the images without being authenticated. Configure anonymous read access for the public container blobs.

    • Select your public container. Pub
    • On the Overview blade, select Change access level. access level
    • Ensure the Public access level is Blob (anonymous read access for blobs only). Blob
    • Select OK. Ok

Practice uploading files and testing access.

  1. For testing, upload a file to the public container. The type of file doesn’t matter. A small image or text file is a good choice.

    • Ensure you are viewing your container. viewing
    • Select Upload. upload
    • Browse to files and select a file. Browse to a file of your choice. to files
    • Select Upload. upload again
    • Close the upload window, Refresh the page and ensure your file was uploaded. refresh and confirm
  2. Determine the URL for your uploaded file. Open a browser and test the URL.

    • Select your uploaded file. uploaded file
    • On the Overview tab, copy the URL. URL
    • Paste the URL into a new browser tab. Paste
    • If you have uploaded an image file it will display in the browser. Other file types should be downloaded. visible

Configure soft delete

  1. It’s important that the website documents can be restored if they’re deleted. Configure blob soft delete for 21 days.

    • Go to the Overview blade of the storage account. Overview
    • On the Properties page, locate the Blob service section. Blob service
    • Select the Blob soft delete setting. Blob soft delete
    • Ensure the Enable soft delete for blobs is checked. enable blob
    • Change the Keep deleted blobs for (in days) setting to 21. 21
    • Notice you can also Enable soft delete for containers. Container
    • Don’t forget to Save your changes. save
  2. If something gets deleted, you need to practice using soft delete to restore the files.

    • Navigate to your container where you uploaded a file. file
    • Select the file you uploaded and then select Delete. file
    • then delete the file. delete
    • Select OK to confirm deleting the file. confirm
    • On the container Overview page, toggle the slider Show deleted blobs. This toggle is to the right of the search box. toggle
    • Select your deleted file, and use the ellipses on the far right, to Undelete the file. Undelete
    • Refresh the container and confirm the file has been restored. Refresh

Configure blob versioning

  1. It’s important to keep track of the different website product document versions.

    • Go to the Overview blade of the storage account. Over
    • In the Properties section, locate the Blob service section. blob services
    • Select the Versioning setting. versioning
    • Ensure the Enable versioning for blobs checkbox is checked. checked
    • Notice your options to keep all versions or delete versions after. keep
    • Don’t forget to Save your changes. save
  2. As you have time experiment with restoring previous blob versions.

    • Upload another version of your container file. This overwrites your existing file.
    • Your previous file version is listed on Show deleted blobs page.

Conclusion

Hosting a public website with Azure Blob Storage is simple, but doing it the right way is what really matters.

You’ve seen how easy it is to make content accessible over the internet, but also why understanding access levels and data protection features like soft delete and versioning is important.

At this point, you’re not just uploading files, you’re thinking about security, accessibility, and real-world usage.

See you in the next one, where we take this a step further.

Top comments (0)