Skip to content

Commit 1220e1e

Browse files
Merge pull request #314431 from cdpark/refresh-appservice-batch1
Q&M: Freshness - Azure App Service - MSangapu - batch 1
2 parents d0837c2 + fb899d6 commit 1220e1e

4 files changed

Lines changed: 33 additions & 34 deletions

File tree

articles/app-service/app-service-web-tutorial-custom-domain.md

Lines changed: 26 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
---
2-
title: 'Set up an existing custom domain name for your app'
2+
title: Set Up an Existing Custom Domain Name for Your App
33
description: Learn how to set up and map an existing custom domain name for your App Service app to improve branding and user access.
44
keywords: app service, azure app service, domain mapping, domain name, existing domain, hostname, vanity domain
55

66
ms.assetid: dc446e0e-0958-48ea-8d99-441d2b947a7c
77
ms.topic: how-to
8-
ms.date: 02/14/2025
8+
ms.date: 04/07/2026
99
ms.author: msangapu
1010
author: msangapu-msft
1111
ms.service: azure-app-service
@@ -18,37 +18,39 @@ ms.custom:
1818

1919
[!INCLUDE [app-service-managed-certificate](./includes/managed-certs/managed-certs-note.md)]
2020

21-
[Azure App Service](overview.md) provides a highly scalable, self-patching web hosting service. This guide shows you how to map an existing custom Domain Name System (DNS) name to App Service. To migrate a live site and its DNS domain name to App Service with no downtime, see [Migrate an active DNS name to Azure App Service](manage-custom-dns-migrate-domain.md).
21+
[Azure App Service](overview.md) provides a highly scalable, self-patching web hosting service. This guide shows you how to map an existing custom Domain Name System (DNS) name to App Service. To migrate a live site and its DNS domain name to App Service with no downtime, see [Migrate an existing domain to Azure App Service](manage-custom-dns-migrate-domain.md).
2222

23-
The DNS record type you need to add with your domain provider depends on the domain you want to add to App Service.
23+
The DNS record type you need to use depends on the domain you want to add to App Service.
2424

2525
| Scenario | Example | Recommended DNS record |
2626
| - | - | - |
27-
| Root domain | contoso.com | [A record](https://en.wikipedia.org/wiki/List_of_DNS_record_types#A). Don't use the CNAME record for the root record. (For information, see [RFC 1912, section 2.4](https://datatracker.ietf.org/doc/html/rfc1912#section-2.4).) |
28-
| Subdomain |www.contoso.com, my.contoso.com | [CNAME record](https://en.wikipedia.org/wiki/CNAME_record). You can map a subdomain to the app's IP address directly with an A record, but it's possible for [the IP address to change](overview-inbound-outbound-ips.md#when-inbound-ip-changes). The CNAME maps to the app's default hostname instead, which is less susceptible to change. |
29-
| [Wildcard](https://en.wikipedia.org/wiki/Wildcard_DNS_record) | *.contoso.com | [CNAME record](https://en.wikipedia.org/wiki/CNAME_record). |
27+
| Root domain | `contoso.com` | [A record](https://en.wikipedia.org/wiki/List_of_DNS_record_types#A). Don't use the CNAME record for the root domain. (For information, see [RFC 1912, section 2.4](https://datatracker.ietf.org/doc/html/rfc1912#section-2.4).) |
28+
| Subdomain |`www.contoso.com`, `my.contoso.com` | [CNAME record](https://en.wikipedia.org/wiki/CNAME_record). You can map a subdomain to the app's IP address directly with an A record, but it's possible for [the IP address to change](overview-inbound-outbound-ips.md#when-inbound-ip-changes). The CNAME maps to the app's default hostname instead, which is less susceptible to change. |
29+
| [Wildcard](https://en.wikipedia.org/wiki/Wildcard_DNS_record) | `*.contoso.com` | [CNAME record](https://en.wikipedia.org/wiki/CNAME_record). |
3030

3131
> [!NOTE]
32-
> For an end-to-end tutorial that shows you how to configure a `www` subdomain and a managed certificate, see [Tutorial: Secure your Azure App Service app with a custom domain and a managed certificate](tutorial-secure-domain-certificate.md).
32+
> For an end-to-end tutorial that shows you how to configure a `www` subdomain and a managed certificate, see [Tutorial: Use a custom domain and a managed certificate to secure your app](tutorial-secure-domain-certificate.md).
3333
3434
## Prerequisites
3535

36-
* [Create an App Service app](./index.yml), or use an app that you created for another tutorial. The web app's [App Service plan](overview-hosting-plans.md) must be a paid tier, not the Free (F1) tier. See [Scale up an app](manage-scale-up.md#scale-up-your-pricing-tier) to update the tier.
37-
* Make sure you can edit the DNS records for your custom domain. To edit DNS records, you need access to the DNS registry for your domain provider, such as GoDaddy. For example, to add DNS entries for `contoso.com` and `www.contoso.com`, you must be able to configure the DNS settings for the `contoso.com` root domain. Your custom domains must be in a public DNS zone; private DNS zones are not supported.
36+
* Create an [App Service app](./index.yml), or use an app that you created for another tutorial. The web app's [App Service plan](overview-hosting-plans.md) must be a paid tier, not the Free (F1) tier. To update the tier, see [Scale up your pricing tier](manage-scale-up.md#scale-up-your-pricing-tier).
37+
* Make sure you can edit the DNS records for your custom domain. To edit DNS records, you need access to the DNS registry for your domain provider, such as GoDaddy. For example, to add DNS entries for `contoso.com` and `www.contoso.com`, you must be able to configure the DNS settings for the `contoso.com` root domain. Your custom domains must be in a public DNS zone; private DNS zones aren't supported.
3838
* If you don't have a custom domain yet, you can [purchase an App Service domain](manage-custom-dns-buy-domain.md) instead.
3939

4040
## Configure a custom domain
4141

4242
1. In the [Azure portal](https://portal.azure.com), navigate to your app's management page.
43-
1. In the left menu for your app, select **Custom domains**.
43+
44+
1. In the sidebar menu for your app, under **Settings**, select **Custom domains**.
45+
4446
1. Select **Add custom domain**.
4547

4648
:::image type="content" source="./media/app-service-web-tutorial-custom-domain/add-custom-domain.png" alt-text="A screenshot showing how to open the Add custom domain dialog." border="true":::
4749

48-
1. For **Domain provider**, select **All other domain services** to configure a third-party domain.
50+
1. For **Domain provider**, select **All other domain services** to configure a non-Microsoft domain.
4951

5052
> [!NOTE]
51-
> To configure an App Service domain, see [Buy a custom domain name for Azure App Service](manage-custom-dns-buy-domain.md).
53+
> To configure an App Service domain, see [Buy and manage an App Service domain](manage-custom-dns-buy-domain.md).
5254
5355
1. For **TLS/SSL certificate**, select **App Service Managed Certificate** if your app is in the Basic tier or higher. If you want to remain in the Shared tier, or if you want to use your own certificate, select **Add certificate later**.
5456

@@ -92,7 +94,7 @@ Create two records, as described in the following table:
9294
| A | `@` | The app's IP address shown in the **Add custom domain** dialog. | The domain mapping itself. (`@` typically represents the root domain.) |
9395
| TXT | `asuid` | The domain verification ID shown in the **Add custom domain** dialog. | For the root domain, App Service accesses the `asuid` TXT record to verify your ownership of the custom domain. |
9496

95-
![Screenshot that shows a DNS records page.](./media/app-service-web-tutorial-custom-domain/a-record.png)
97+
:::image type="content" source="./media/app-service-web-tutorial-custom-domain/a-record.png" alt-text="Screenshot that shows a DNS records page.":::
9698

9799
### [Subdomain (for example, www.contoso.com)](#tab/subdomain)
98100

@@ -105,7 +107,7 @@ Create two records, as described in the following table:
105107
|A|`<subdomain>` (for example, `www`)|IP address shown in the **Add custom domain** dialog.| The domain mapping itself. |
106108
|TXT|`asuid.<subdomain>` (for example, `asuid.www`)|The domain verification ID shown in the **Add custom domain** dialog.| App Service accesses the `asuid.<subdomain>` TXT record to verify your ownership of the custom domain. |
107109

108-
![Screenshot that shows a DNS records subdomain page.](./media/app-service-web-tutorial-custom-domain/a-record-subdomain.png)
110+
:::image type="content" source="./media/app-service-web-tutorial-custom-domain/a-record-subdomain.png" alt-text="Screenshot that shows a DNS records subdomain page.":::
109111

110112
#### With a CNAME record
111113

@@ -116,7 +118,7 @@ Create two records, as described in the following table:
116118
| CNAME | `<subdomain>` (for example, `www`) | (See the value in the Azure portal **Overview** page for your app.) | The domain mapping itself. |
117119
| TXT | `asuid.<subdomain>` (for example, `asuid.www`) | The domain verification ID shown in the **Add custom domain** dialog. | App Service accesses the `asuid.<subdomain>` TXT record to verify your ownership of the custom domain. |
118120

119-
![Screenshot that shows the portal navigation to an Azure app.](./media/app-service-web-tutorial-custom-domain/cname-record.png)
121+
:::image type="content" source="./media/app-service-web-tutorial-custom-domain/cname-record.png" alt-text="Screenshot that shows the portal navigation to an Azure app.":::
120122

121123
### [Wildcard (CNAME)](#tab/wildcard)
122124

@@ -127,7 +129,7 @@ For a wildcard name, like `*` in `*.contoso.com`, create two records, as describ
127129
| CNAME | `*` | (See the value in the Azure portal **Overview** page for your app.) | The domain mapping itself. |
128130
| TXT | `asuid` | The domain verification ID shown in the **Add custom domain** dialog. | App Service accesses the `asuid` TXT record to verify your ownership of the custom domain. |
129131

130-
![Screenshot that shows the navigation to an Azure app.](./media/app-service-web-tutorial-custom-domain/cname-record-wildcard.png)
132+
:::image type="content" source="./media/app-service-web-tutorial-custom-domain/cname-record-wildcard.png" alt-text="Screenshot that shows the navigation to an Azure app.":::
131133

132134
-----
133135

@@ -142,22 +144,22 @@ For a wildcard name, like `*` in `*.contoso.com`, create two records, as describ
142144
:::image type="content" source="./media/app-service-web-tutorial-custom-domain/configure-custom-domain-add.png" alt-text="A screenshot showing the Add button activated after validation." border="true":::
143145

144146
> [!NOTE]
145-
> If you configured the TXT record but not the A or CNAME record, App Service treats the change as a [domain migration](manage-custom-dns-migrate-domain.md) scenario and allows the validation to succeed, but you won't see green check marks next to the records.
147+
> If you configured the TXT record but not the A or CNAME record, App Service treats the change as a [domain migration](manage-custom-dns-migrate-domain.md) scenario and allows the validation to succeed, but you don't see green check marks next to the records.
146148
147149
1. You should see the custom domain added to the list. You might also see a red X and the text **No binding**.
148150

149-
If you selected **App Service Managed Certificate** earlier, wait a few minutes for App Service to create the managed certificate for your custom domain. When the process is complete, the red X becomes a green check mark and you see the word **Secured**. If you selected **Add certificate later**, the red X will remain until you [add a private certificate for the domain](configure-ssl-certificate.md) and [configure the binding](configure-ssl-bindings.md).
151+
If you selected **App Service Managed Certificate** earlier, wait a few minutes for App Service to create the managed certificate for your custom domain. When the process is complete, the red X becomes a green check mark and you see the word **Secured**. If you selected **Add certificate later**, the red X remains until you [add a private certificate for the domain](configure-ssl-certificate.md) and [configure the binding](configure-ssl-bindings.md).
150152

151153
:::image type="content" source="./media/app-service-web-tutorial-custom-domain/add-custom-domain-complete.png" alt-text="A screenshot showing the custom domains page with the new secured custom domain." border="true":::
152154

153155
> [!NOTE]
154-
> Unless you configure a certificate binding for your custom domain, any HTTPS request from a browser to the domain will receive an error or warning, depending on the browser.
156+
> Unless you configure a certificate binding for your custom domain, any HTTPS request from a browser to the domain receives an error or warning, depending on the browser.
155157
156158
## Test the DNS resolution
157159

158-
Browse to the DNS names that you configured.
160+
Browse to the domain name that you configured.
159161

160-
![Screenshot that shows navigation to an Azure app.](./media/app-service-web-tutorial-custom-domain/app-with-custom-dns.png)
162+
:::image type="content" source="./media/app-service-web-tutorial-custom-domain/app-with-custom-dns.png" alt-text="Screenshot that shows navigation to an Azure app.":::
161163

162164
<a name="resolve-404-not-found" aria-hidden="true"></a>
163165

@@ -172,10 +174,7 @@ If you receive a `Page not secure` warning or error, it's because your domain do
172174

173175
[!INCLUDE [automate-with-scripts](../../includes/app-service-web-tutorial-custom-domain-scripts.md)]
174176

175-
## Next steps
176-
177-
> [!div class="nextstepaction"]
178-
> [Purchase an App Service domain](manage-custom-dns-buy-domain.md)
177+
## Next step
179178

180179
> [!div class="nextstepaction"]
181-
> [Secure a custom DNS name with a TLS/SSL binding in Azure App Service](configure-ssl-bindings.md)
180+
> [Enable HTTPS for a custom domain in Azure App Service](configure-ssl-bindings.md)

articles/app-service/includes/managed-certs/managed-certs-note.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,5 @@ ms.author: msangapu
77
---
88

99
> [!IMPORTANT]
10-
> Starting July 28, 2025, changes to App Service **Managed Certificates** (ASMC) will impact how certificates are issued and renewed in certain scenarios. While most customers don’t need to take action, we recommend reviewing our [ASMC detailed blog post](https://go.microsoft.com/fwlink/?linkid=2328307) for more information.
10+
> As of July 28, 2025, changes to App Service Managed Certificates (ASMC) impact how certificates are issued and renewed in certain scenarios. While most customers don’t need to take action, we recommend reviewing our [ASMC detailed blog post](https://go.microsoft.com/fwlink/?linkid=2328307) for more information.
1111
>
-31.1 KB
Loading

includes/app-service-web-tutorial-custom-domain-scripts.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@ The following command adds a configured custom DNS name to an App Service app.
1818
```azurecli
1919
az webapp config hostname add \
2020
--webapp-name <app-name> \
21-
--resource-group <resource_group_name> \
22-
--hostname <fully_qualified_domain_name>
21+
--resource-group <resource-group-name> \
22+
--hostname <fully-qualified-domain-name>
2323
```
2424

2525
For more information, see [Map a custom domain to a web app](../articles/app-service/scripts/cli-configure-custom-domain.md).
@@ -29,10 +29,10 @@ For more information, see [Map a custom domain to a web app](../articles/app-ser
2929
The following command adds a configured custom DNS name to an App Service app.
3030

3131
```powershell
32-
$subscriptionId = "<subscription_ID>"
33-
$resourceGroup = "<resource_group>"
34-
$appName = "<app_name>"
35-
$hostname = "<fully_qualified_domain_name>"
32+
$subscriptionId = "<subscription-ID>"
33+
$resourceGroup = "<resource-group-name>"
34+
$appName = "<app-name>"
35+
$hostname = "<fully-qualified-domain-name>"
3636
$apiVersion = "2024-04-01"
3737
3838
$restApiPath = "/subscriptions/{0}/resourceGroups/{1}/providers/Microsoft.Web/sites/{2}/hostNameBindings/{3}?api-version={4}" `

0 commit comments

Comments
 (0)