> For the complete documentation index, see [llms.txt](https://docs.hivel.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.hivel.ai/self-managed-hivel-deployment/virtual-private-cloud/azure/dns-setup-azure.md).

# DNS Setup (Azure)

The DNS Setup step configures domain name routing and enables secure HTTPS access for the Hivel platform.

By default, the Hivel UI container serves unencrypted traffic over HTTP on port `3000`. However, modern web browsers enforce strict security boundaries and disable essential Web Crypto APIs (such as `crypto.randomUUID`, used for user authentication and onboarding flows) unless the application is accessed over a secure context (`HTTPS` or `localhost`). Accessing the UI directly via an IP address over HTTP will cause these browser APIs to fail, breaking core application features.

Configuring DNS maps your custom domain (e.g., `hivel.yourcompany.com`) to your deployment VM. This allows a reverse proxy (such as Caddy) to terminate TLS, manage automatic SSL certificate issuance, and safely route encrypted HTTPS traffic to the UI.

This page walks through enabling HTTPS for the Hivel UI using a Caddy reverse proxy - pick the setup path that matches whether you have a domain yet, Use the list below to understand the documentation structure or jump directly to any page as you work through the guide.

| Page                                                                                                                                                                                                                           | Description                                                                                       |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------- |
| [**Setup and Prerequisites**](/self-managed-hivel-deployment/virtual-private-cloud/azure/dns-setup-azure/setup-and-prerequisites.md)                                                                                           | Why HTTPS is needed and what must be ready on VM before choosing an option.                       |
| ↳ [Option A — Domain + Let's Encrypt (Recommended)](/self-managed-hivel-deployment/virtual-private-cloud/azure/dns-setup-azure/setup-and-prerequisites/option-a-domain-+-lets-encrypt-recommended.md)                          | Point DNS at VM, open ports 80/443, and let Caddy auto-issue a trusted certificate.               |
| ↳ [Option B — No Domain Yet (Self-Signed, Temporary)](/self-managed-hivel-deployment/virtual-private-cloud/azure/dns-setup-azure/setup-and-prerequisites/option-b-no-domain-yet-self-signed-temporary.md)                      | Temporary self-signed HTTPS for testing before a domain is ready - not for production.            |
| [**Upgrading from Option B to Option A and Managing the Caddy Container**](/self-managed-hivel-deployment/virtual-private-cloud/azure/dns-setup-azure/upgrading-from-option-b-to-option-a-and-managing-the-caddy-container.md) | Switching to a real domain later, plus day-to-day Caddy container commands (logs, restart, stop). |
| [**Troubleshooting**](/self-managed-hivel-deployment/virtual-private-cloud/azure/dns-setup-azure/troubleshooting.md)                                                                                                           | Fixes for certificate issuance failures, connection refused on 443, and blank page/502 errors.    |
| [**Quick Reference**](/self-managed-hivel-deployment/virtual-private-cloud/azure/dns-setup-azure/quick-reference.md)                                                                                                           | Ports, certificate source, config file path, and data volume at a glance.                         |

{% columns %}
{% column %} <a href="/self-managed-hivel-deployment/virtual-private-cloud/azure/hivel-on-premises-deployment-guide-azure/support-and-summary.md" class="button primary" data-icon="backward">Support and Summary</a>
{% endcolumn %}

{% column %}

{% endcolumn %}

{% column %} <a href="/self-managed-hivel-deployment/virtual-private-cloud/azure/dns-setup-azure/setup-and-prerequisites.md" class="button primary" data-icon="forward">Setup and Prerequisites</a>
{% endcolumn %}
{% endcolumns %}
