You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/app-service/environment/overview-certificates.md
+207-3Lines changed: 207 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,7 +3,7 @@ title: Certificates in App Service Environment
3
3
description: Explain the use of certificates in an App Service Environment. Learn how certificate bindings work on the single-tenanted apps in an App Service Environment.
4
4
author: seligj95
5
5
ms.topic: overview
6
-
ms.date: 10/3/2023
6
+
ms.date: 10/24/2025
7
7
ms.author: jordanselig
8
8
ms.service: azure-app-service
9
9
---
@@ -34,7 +34,7 @@ You can [configure the TLS setting](../configure-ssl-bindings.md#enforce-tls-ver
34
34
A common use case is to configure your app as a client in a client-server model. If you secure your server with a private CA certificate, you need to upload the client certificate (*.cer* file) to your app. The following instructions load certificates to the trust store of the workers that your app is running on. You only need to upload the certificate once to use it with apps that are in the same App Service plan.
35
35
36
36
>[!NOTE]
37
-
> Private client certificates are only supported from custom code in Windows code apps. Private client certificates are not supported outside the app. This limits usage in scenarios such as pulling the app container image from a registry using a private certificate and TLS validating through the front-end servers using a private certificate.
37
+
> Private client certificates are only supported from custom code in Windows code apps. Private client certificates aren't supported outside the app. This limits usage in scenarios such as pulling the app container image from a registry using a private certificate and TLS validating through the front-end servers using a private certificate.
38
38
39
39
Follow these steps to upload the certificate (*.cer* file) to your app in your App Service Environment. The *.cer* file can be exported from your certificate. For testing purposes, there's a PowerShell example at the end to generate a temporary self-signed certificate:
The Root Certificate API allows you to programmatically add root certificates to your App Service Environment v3, making them available to all apps during startup. Root certificates are public certificates that identify a root certificate authority (CA) and are essential for establishing trust in secure communications. By adding root certificates to your App Service Environment, all apps hosted within that environment have them installed in their root store, ensuring secure communication with internal services or APIs that use certificates issued by private or enterprise CAs.
69
+
70
+
This capability is available for both Windows and Linux-based apps in App Service Environment v3. Root certificates added through this API are automatically injected into the trust store of apps at startup, eliminating the need for per-app configurations and simplifying certificate lifecycle management.
71
+
72
+
### Important considerations
73
+
74
+
- Certificates can be added to an App Service Environment using the REST API, Azure CLI, ARM templates, Bicep, or Terraform.
75
+
- If you add a certificate to an App Service Environment with existing or running apps, you must **stop** and then **start** each app for the certificate store to be updated with the new root certificate. Adding all certificates before creating your apps is recommended to eliminate the need to stop and start apps individually.
76
+
- Stop and start operations are different from restarting your app. You must use the dedicated stop and start commands available in the Azure portal, Azure CLI, or REST API.
77
+
- Starting and stopping apps causes temporary outages while the apps are stopped.
78
+
- If you have multiple apps and want to automate this process, you can use the Azure CLI or REST API.
79
+
- During the certificate addition process, you must provide the entire certificate blob in the request. You can't upload a *.cer* file directly.
80
+
81
+
### Add a root certificate
82
+
83
+
To add a root certificate to your App Service Environment, use one of the following methods:
84
+
85
+
### [REST API](#tab/rest-api)
86
+
87
+
```http
88
+
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{aseName}/publicCertificates/{certificateName}?api-version=2024-04-01
To create a root certificate resource in your Terraform configuration, add the following to your template. You must include `schema_validation_enabled = false` for the resource to be created successfully.
143
+
144
+
```hcl
145
+
resource "azapi_resource" "{certificateName}" {
146
+
type = "Microsoft.Web/hostingEnvironments/publicCertificates@2024-04-01"
To retrieve a specific root certificate from your App Service Environment:
194
+
195
+
### [REST API](#tab/rest-api-get-specific)
196
+
197
+
```http
198
+
GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{aseName}/publicCertificates/{certificateName}?api-version=2024-04-01
To retrieve all public certificates from your App Service Environment:
213
+
214
+
### [REST API](#tab/rest-api-get-all)
215
+
216
+
```http
217
+
GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{aseName}/publicCertificates?api-version=2024-04-01
After adding a root certificate to an App Service Environment with existing apps, you must stop and start each app to update the certificate store.
232
+
233
+
### [Azure portal](#tab/portal)
234
+
235
+
1. Navigate to your app in the Azure portal.
236
+
1. Select **Stop** from the overview page.
237
+
1. Wait for the app to stop completely.
238
+
1. Select **Start** to restart the app.
239
+
240
+
### [REST API](#tab/rest-api-app)
241
+
242
+
Stop the app:
243
+
244
+
```http
245
+
POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{appName}/stop?api-version=2024-04-01
246
+
```
247
+
248
+
Start the app:
249
+
250
+
```http
251
+
POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{appName}/start?api-version=2024-04-01
252
+
```
253
+
254
+
### [Azure CLI](#tab/azure-cli-app)
255
+
256
+
Stop the app:
257
+
258
+
```azurecli-interactive
259
+
az webapp stop --name {appName} --resource-group {resourceGroupName}
260
+
```
261
+
262
+
Start the app:
263
+
264
+
```azurecli-interactive
265
+
az webapp start --name {appName} --resource-group {resourceGroupName}
266
+
```
267
+
268
+
---
269
+
66
270
## Private server certificate
67
271
68
272
If your app acts as a server in a client-server model, either behind a reverse proxy or directly with private client and you're using a private CA certificate, you need to upload the server certificate (*.pfx* file) with the full certificate chain to your app and bind the certificate to the custom domain. Because the infrastructure is dedicated to your App Service Environment, the full certificate chain is added to the trust store of the servers. You only need to upload the certificate once to use it with apps that are in the same App Service Environment.
69
273
70
274
>[!NOTE]
71
-
> If you uploaded your certificate prior to October 1, 2023, you need to reupload and rebind the certificate for the full certificate chain to be added to the servers.
275
+
> If you uploaded your certificate before October 1, 2023, you need to reupload and rebind the certificate for the full certificate chain to be added to the servers.
72
276
73
277
Follow the [secure custom domain with TLS/SSL](../configure-ssl-bindings.md) tutorial to upload/bind your private CA rooted certificate to the app in your App Service Environment.
Copy file name to clipboardExpand all lines: articles/container-apps/scale-app.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1115,7 +1115,7 @@ If you don't create a scale rule, the default scale rule is applied to your cont
1115
1115
| HTTP | 0 | 10 |
1116
1116
1117
1117
> [!IMPORTANT]
1118
-
> Make sure you create a scale rule or set `minReplicas` to 1 or more if you don't enable ingress. If ingress is disabled and you don't define a `minReplicas` or a custom scale rule, then your container app scales to zero and have no way of starting back up.
1118
+
> Make sure you create a scale rule or set `minReplicas` to 1 or more if you don't enable ingress. If ingress is disabled and you don't define a `minReplicas` or a custom scale rule, then your container app scales to zero and has no way of starting back up.
0 commit comments