Build App Service custom domain configs with managed certificates, Key Vault certificates, DNS validation, and TLS settings.
Build App Service custom domain configs with managed certificates, Key Vault certificates, DNS validation records, and TLS settings.
Required Fields
appServiceNameresourceGroupcustomDomainscustomDomains[0].hostNamecustomDomains[0].certificate.typecustomDomains[0].dnsConfiguration.recordTypeOutput will appear here...Build App Service custom domain bindings mixing certificate sourcing strategies per domain, ManagedCertificate (Azure-issued and auto-renewed, but CNAME-only, not usable for an apex/root domain) versus KeyVaultCertificate (your own certificate referenced from Key Vault, usable for any record type including apex A records). This distinction is the most consequential decision in this configuration: the example correctly uses a CNAME-based ManagedCertificate for the api.contoso.com subdomain but must fall back to an A-record-based approach for the apex contoso.com domain, since a managed certificate specifically requires the CNAME validation path that an apex domain's A record can't provide, picking ManagedCertificate for an apex domain fails certificate issuance, not silently, but in a way that's confusing if you don't already know this constraint exists.
Never attempt a ManagedCertificate for an apex domain, it's a hard platform constraint that fails at certificate issuance, plan apex domains for KeyVaultCertificate (or another certificate source) from the start rather than discovering the CNAME requirement mid-setup.
The TXT-based domain verification step is separate from the traffic-routing CNAME/A record, and it's easy to configure one but forget the other, both are required for the custom domain binding to succeed.
A KeyVaultCertificate-backed binding depends entirely on that certificate being kept current in Key Vault, pair it with the Key Vault certificate policy's own auto-renewal and expiry-notification lifetimeActions, don't assume App Service handles renewal the way it does for its own Managed Certificates.
The builder validates that appServiceName, resourceGroup, customDomains, and the first domain's hostName/certificate.type/dnsConfiguration.recordType all resolve before accepting the JSON as a valid custom domain binding configuration; it can't verify the DNS records are actually published and propagated, or that an apex domain hasn't been mistakenly paired with a ManagedCertificate type, that specific mismatch is only caught by the live API at certificate provisioning time.
Was this tool helpful?
Disclaimer: This tool runs entirely in your browser. No data is sent to our servers. Always verify outputs before using them in production. AWS, Azure, and GCP are trademarks of their respective owners.