Skip to content

Commit abc6c6f

Browse files
committed
Merge branch 'main' of https://github.com/MicrosoftDocs/azure-docs-pr into waf-policy
2 parents 72a5eb3 + fafb06d commit abc6c6f

14 files changed

Lines changed: 512 additions & 485 deletions
104 KB
Loading
137 KB
Loading
81.1 KB
Loading

articles/application-gateway/for-containers/siem-integration-with-sentinel.md

Lines changed: 106 additions & 92 deletions
Large diffs are not rendered by default.

articles/container-apps/authentication-entra.md

Lines changed: 89 additions & 85 deletions
Large diffs are not rendered by default.

articles/container-apps/custom-domains-certificates.md

Lines changed: 60 additions & 61 deletions
Large diffs are not rendered by default.
Lines changed: 50 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -1,113 +1,114 @@
11
---
2-
title: Custom domain names and free managed certificates in Azure Container Apps
3-
description: Learn to configure custom domain names and managed certificates in Azure Container Apps
2+
title: Custom Domain Names and Free Managed Certificates in Container Apps
3+
description: Learn how to configure custom domain names and managed certificates in Azure Container Apps.
44
services: container-apps
55
author: craigshoemaker
66
ms.service: azure-container-apps
77
ms.custom: build-2023, devx-track-azurecli, ignite-2024
88
ms.topic: how-to
9-
ms.date: 01/14/2025
9+
ms.date: 01/28/2026
1010
ms.author: cshoe
1111
zone_pivot_groups: azure-cli-or-portal
1212
---
1313

1414
# Custom domain names and free managed certificates in Azure Container Apps
1515

16-
Azure Container Apps allows you to bind one or more custom domains to a container app. You can automatically configure a free managed certificate for your custom domain when your container app is publicly accessible from the [digicert IP addresses](https://knowledge.digicert.com/alerts/ip-address-domain-validation).
16+
Azure Container Apps allows you to bind one or more custom domains to a container app. You can automatically configure a free managed certificate for your custom domain when your container app is publicly accessible from the [DigiCert IP addresses](https://knowledge.digicert.com/alerts/ip-address-domain-validation).
1717

18-
If you want to set up a custom domain using your own certificate, see [Custom domain names and certificates in Azure Container Apps](custom-domains-certificates.md).
18+
If you want to set up a custom domain that uses your own certificate, see [Custom domain names and bring your own certificates in Azure Container Apps](custom-domains-certificates.md).
1919

2020
> [!NOTE]
21-
> If you configure a [custom environment DNS suffix](environment-custom-dns-suffix.md), you can't add a custom domain that contains this suffix to your Container App.
21+
> If you configure a [custom environment DNS suffix](environment-custom-dns-suffix.md), you can't add a custom domain that contains this suffix to your container app.
2222
2323
## Free certificate requirements
2424

25-
Azure Container Apps provides a free managed certificate for your custom domain. Without any action required from you, this TLS/SSL server certificate is automatically renewed as long as your app continues to meet the requirements for managed certificates.
25+
Container Apps provides a free managed certificate for your custom domain. This TLS/SSL server certificate is automatically renewed without any action from you as long as your app continues to meet the requirements for managed certificates.
2626

2727
The requirements are:
2828

29-
- Enable HTTP ingress and ensure your container app is publicly accessible from the [digicert IP addresses](https://knowledge.digicert.com/alerts/ip-address-domain-validation).
29+
- Enable HTTP ingress and ensure your container app is publicly accessible from the [DigiCert IP addresses](https://knowledge.digicert.com/alerts/ip-address-domain-validation).
3030

31-
- Must have an A record for apex domains that points to your Container Apps environment's IP address.
31+
- Have an A record for apex domains that points to your Container Apps environment's IP address.
3232

3333
- Establish a CNAME record for subdomains that maps directly to the container app's generated domain name. Mapping to an intermediate CNAME value blocks certificate issuance and renewal. Examples of CNAME values are traffic managers, Cloudflare, and similar services.
3434

35-
- If any [Certification Authority Authorization (CAA) domain record](https://wikipedia.org/wiki/DNS_Certification_Authority_Authorization) exists on the root domain, you must explicitly allow DigiCert as a certificate issuer by creating a CAA domain record with the value `0 issue digicert.com`. Without this setting, the certificate issuance and **renewal** will fail.
35+
- If any [Certification Authority Authorization (CAA) domain record](https://wikipedia.org/wiki/DNS_Certification_Authority_Authorization) exists on the root domain, you must explicitly allow DigiCert as a certificate issuer by creating a CAA domain record with the value `0 issue digicert.com`. Without this setting, the certificate issuance and renewal fail.
3636

3737
> [!NOTE]
38-
> To ensure the certificate issuance and subsequent renewals proceed successfully, all requirements must be met at all times when the managed certificate is assigned.
38+
> To ensure that the certificate issuance and subsequent renewals proceed successfully, all requirements must be met at all times when the managed certificate is assigned.
3939
4040
## Add a custom domain and managed certificate
4141

4242
::: zone pivot="azure-portal"
4343

44-
1. Navigate to your container app in the [Azure portal](https://portal.azure.com)
44+
1. Go to your container app in the [Azure portal](https://portal.azure.com).
4545

46-
1. Verify that your app has HTTP ingress enabled by selecting **Ingress** in the *Settings* section. If ingress isn't enabled, enable it with these steps:
46+
1. Verify that your app has HTTP ingress enabled by selecting **Ingress** in the **Networking** section in the left pane. If ingress isn't enabled, enable it with these steps:
4747

48-
1. Set *HTTP Ingress* to **Enabled**.
49-
1. Select the desired *Ingress traffic* setting.
50-
1. Enter the *Target port*.
48+
1. Set **Ingress** to **Enabled**.
49+
1. Select the **Ingress traffic** setting that you want.
50+
1. Set the **Ingress type** to **HTTP**.
51+
1. Enter the **Target port**.
5152
1. Select **Save**.
5253

53-
1. Under the *Settings* section, select **Custom domains**.
54+
1. Under **Networking** in the left pane, select **Custom domains**.
5455

5556
1. Select **Add custom domain**.
5657

57-
1. In the *Add custom domain and certificate* window, in *TLS/SSL certificate*, select **Managed certificate**.
58+
1. In the **Add custom domain and certificate** pane, for the **TLS/SSL certificate**, select **Managed certificate**.
5859

59-
1. In *domain*, enter the domain you want to add.
60+
1. In the **Domain** box, enter the domain that you want to add.
6061

61-
1. Select the *Hostname record type* based on the type of your domain.
62+
1. Select the **Hostname record type**, based on the type of your domain:
6263

6364
| Domain type | Record type | Notes |
6465
|--|--|--|
6566
| Apex domain | A record | An apex domain is a domain at the root level of your domain. For example, if your DNS zone is `contoso.com`, then `contoso.com` is the apex domain. |
66-
| Subdomain | CNAME | A subdomain is a domain that is part of another domain. For example, if your DNS zone is `contoso.com`, then `www.contoso.com` is an example of a subdomain that can be configured in the zone. |
67+
| Subdomain | CNAME | A subdomain is a domain that's part of another domain. For example, if your DNS zone is `contoso.com`, then `www.contoso.com` is an example of a subdomain that can be configured in the zone. |
6768

68-
1. Using the DNS provider that is hosting your domain, create DNS records based on the *Hostname record type* you selected using the values shown in the *Domain validation* section. The records point the domain to your container app and verify that you're the owner.
69+
1. By using the DNS provider that's hosting your domain, create DNS records based on the **Hostname record type** that you selected using the values shown in the **Domain validation** section. The records point the domain to your container app and verify that you're the owner.
6970

70-
- If you selected *A record*, create the following DNS records:
71+
- If you selected **A record**, create the following DNS records:
7172

7273
| Record type | Host | Value |
7374
|--|--|--|
7475
| A | `@` | The IP address of your Container Apps environment. |
7576
| TXT | `asuid` | The domain verification code. |
7677

77-
- If you selected *CNAME*, create the following DNS records:
78+
- If you selected **CNAME**, create the following DNS records:
7879

7980
| Record type | Host | Value |
8081
|--|--|--|
81-
| CNAME | The subdomain (for example, `www`) | The generated domain of your container app. |
82-
| TXT | `asuid.` followed by the subdomain (for example, `asuid.www`) | The domain verification code. |
82+
| CNAME | The subdomain (for example, `www`). | The generated domain of your container app. |
83+
| TXT | `asuid.` followed by the subdomain (for example, `asuid.www`). | The domain verification code. |
8384

8485
1. Select **Validate**.
8586

86-
1. Once validation succeeds, select **Add**.
87+
1. After validation succeeds, select **Add**.
8788

8889
It might take several minutes to issue the certificate and add the domain to your container app.
8990

9091

91-
1. Once the operation is complete, you see your domain name in the list of custom domains with a status of *Secured*. Navigate to your domain to verify that it's accessible.
92+
1. After the operation is complete, you see your domain name in the list of custom domains with a status of **Secured**. Go to your domain to verify that it's accessible.
9293

9394
::: zone-end
9495

9596
::: zone pivot="azure-cli"
9697

97-
Container Apps supports apex domains and subdomains. Each domain type requires a different DNS record type and validation method.
98+
Container Apps supports apex domains and subdomains. Each domain type requires a different DNS record type and validation method:
9899

99100
| Domain type | Record type | Validation method | Notes |
100101
|--|--|--|--|
101102
| Apex domain | A record | HTTP | An apex domain is a domain at the root level of your domain. For example, if your DNS zone is `contoso.com`, then `contoso.com` is the apex domain. |
102-
| Subdomain | CNAME | CNAME | A subdomain is a domain that is part of another domain. For example, if your DNS zone is `contoso.com`, then `www.contoso.com` is an example of a subdomain that can be configured in the zone. |
103+
| Subdomain | CNAME | CNAME | A subdomain is a domain that's part of another domain. For example, if your DNS zone is `contoso.com`, then `www.contoso.com` is an example of a subdomain that can be configured in the zone. |
103104

104-
1. Log in to Azure with the Azure CLI.
105+
1. Sign in to Azure by using the Azure CLI:
105106

106107
```azurecli
107108
az login
108109
```
109110
110-
1. Next, install the Azure Container Apps extension for the CLI.
111+
1. Install the Container Apps extension for the CLI:
111112
112113
```azurecli
113114
az extension add --name containerapp --upgrade
@@ -127,18 +128,18 @@ Container Apps supports apex domains and subdomains. Each domain type requires a
127128
```
128129
129130
- Replace `<CERTIFICATE_LOCAL_PATH>` with the local path of your certificate file.
130-
- Replace `<CERTIFICATE_LOWERCASE_NAME>` with a lowercase certificate name that is unique within the environment.
131+
- Replace `<CERTIFICATE_LOWERCASE_NAME>` with a lowercase certificate name that's unique within the environment.
131132
- Replace `<TARGET_PORT>` with the port that your container app is listening on.
132133
133-
1. Verify that your container app has HTTP ingress enabled.
134+
1. Verify that your container app has HTTP ingress enabled:
134135
135136
```azurecli
136137
az containerapp ingress show \
137138
-n $CONTAINER_APP \
138139
-g $RESOURCE_GROUP
139140
```
140141
141-
If ingress isn't enabled, enable it with these steps:
142+
If ingress isn't enabled, enable it:
142143
143144
```azurecli
144145
az containerapp ingress enable \
@@ -149,7 +150,7 @@ Container Apps supports apex domains and subdomains. Each domain type requires a
149150
--transport auto
150151
```
151152
152-
1. If you're configuring an apex domain, get the IP address of your Container Apps environment.
153+
1. If you're configuring an apex domain, get the IP address of your Container Apps environment:
153154
154155
```azurecli
155156
az containerapp env show \
@@ -159,7 +160,7 @@ Container Apps supports apex domains and subdomains. Each domain type requires a
159160
--query "properties.staticIp"
160161
```
161162
162-
1. If you're configuring a subdomain, get the automatically generated domain of your container app.
163+
1. If you're configuring a subdomain, get the automatically generated domain of your container app:
163164
164165
```azurecli
165166
az containerapp show \
@@ -169,7 +170,7 @@ Container Apps supports apex domains and subdomains. Each domain type requires a
169170
--query "properties.configuration.ingress.fqdn"
170171
```
171172
172-
1. Get the domain verification code.
173+
1. Get the domain verification code:
173174
174175
```azurecli
175176
az containerapp show \
@@ -179,23 +180,23 @@ Container Apps supports apex domains and subdomains. Each domain type requires a
179180
--query "properties.customDomainVerificationId"
180181
```
181182
182-
1. Using the DNS provider that is hosting your domain, create DNS records based on the record type you selected using the values shown in the *Domain validation* section. The records point the domain to your container app and verify that you own it.
183+
1. Using the DNS provider that's hosting your domain, create DNS records based on the record type you selected by using the values shown in the **Domain validation** section. The records point the domain to your container app and verify that you own it.
183184
184-
- If you selected *A record*, create the following DNS records:
185+
- If you selected **A record**, create the following DNS records:
185186
186187
| Record type | Host | Value |
187188
|--|--|--|
188189
| A | `@` | The IP address of your Container Apps environment. |
189190
| TXT | `asuid` | The domain verification code. |
190191
191-
- If you selected *CNAME*, create the following DNS records:
192+
- If you selected **CNAME**, create the following DNS records:
192193
193194
| Record type | Host | Value |
194195
|--|--|--|
195-
| CNAME | The subdomain (for example, `www`) | The generated domain of your container app. |
196-
| TXT | `asuid.` followed by the subdomain (for example, `asuid.www`) | The domain verification code. |
196+
| CNAME | The subdomain (for example, `www`). | The generated domain of your container app. |
197+
| TXT | `asuid.` followed by the subdomain (for example, `asuid.www`). | The domain verification code. |
197198
198-
1. Add the domain to your container app.
199+
1. Add the domain to your container app:
199200
200201
```azurecli
201202
az containerapp hostname add \
@@ -204,7 +205,7 @@ Container Apps supports apex domains and subdomains. Each domain type requires a
204205
-n $CONTAINER_APP
205206
```
206207
207-
1. Configure the managed certificate and bind the domain to your container app.
208+
1. Configure the managed certificate and bind the domain to your container app:
208209
209210
```azurecli
210211
az containerapp hostname bind \
@@ -215,17 +216,17 @@ Container Apps supports apex domains and subdomains. Each domain type requires a
215216
--validation-method <VALIDATION_METHOD>
216217
```
217218
218-
- If you're configuring an *A record*, replace `<VALIDATION_METHOD>` with `HTTP`.
219+
- If you're configuring an **A record**, replace `<VALIDATION_METHOD>` with `HTTP`.
219220
220-
- If you're configuring a *CNAME*, replace `<VALIDATION_METHOD>` with `CNAME`.
221+
- If you're configuring a **CNAME**, replace `<VALIDATION_METHOD>` with `CNAME`.
221222
222223
It might take several minutes to issue the certificate and add the domain to your container app.
223224
224-
1. Once the operation is complete, navigate to your domain to verify that it's accessible.
225+
1. After the operation is complete, go to your domain to verify that it's accessible.
225226
226227
::: zone-end
227228
228-
## Next steps
229+
## Next step
229230
230231
> [!div class="nextstepaction"]
231232
> [Authentication in Azure Container Apps](authentication.md)

0 commit comments

Comments
 (0)