Skip to content

Commit 43c8323

Browse files
Merge branch 'main' of https://github.com/MicrosoftDocs/azure-docs-pr into js-ts-combine
2 parents 6251e5d + 28ff048 commit 43c8323

File tree

131 files changed

+3313
-4087
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

131 files changed

+3313
-4087
lines changed
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
---
2+
title: Configure error pages on App Service
3+
description: Learn how to configure a custom error page on App Service
4+
author: jefmarti
5+
ms.topic: how-to
6+
ms.custom: linux-related-content
7+
ms.date: 10/14/2024
8+
ms.author: jefmarti
9+
---
10+
11+
# Configure error pages on App Service (preview)
12+
13+
This article explains how to configure custom error pages on your web app. With App Service you can configure an error page for specific errors that will be presented to users instead of the default error page.
14+
15+
### Prerequisite
16+
In this tutorial, we're adding a custom 403 error page to our web app hosted on App Service and test it with an IP restriction. To do so, you need the following:
17+
- a web app hosted on App Service w/ a Premium SKU
18+
- an html file under 10 kb in size
19+
20+
## Upload an error page
21+
For this example, we're uploading and testing a 403 error page to present to the user. Name your html file to match the error code (for example, `403.hmtl`). Once you have your html file prepared, you can upload it to your web app. In the configuration blade, you should see an **Error pages (preview)** tab. Click on this tab to view the error page options. If the options are greyed out, you need to upgrade to at least a Premium SKU to use this feature.
22+
23+
Select the error code that you'd like to upload an error page for and click **Edit**. On the next screen, click the folder icon to select your html file. The file must be in html format and within the 10 kb size limit. Find your .html file and click on the **Upload** button at the bottom of the screen. Notice the Status in the table updates from Not Configured to Configured. Then click **Save** to complete the upload.
24+
25+
## Confirm error page
26+
Once the custom error page is uploaded and saved, we can trigger and view the page. In this example, we can trigger the 403 error by using an IP restriction.
27+
28+
To set an IP restriction, go to the **Networking** blade and click the **Enabled with access restrictions** link under **Inbound traffic configuration**.
29+
30+
Under the **Site access and rules** section, select the **+Add** button to create an IP restriction.
31+
32+
In the form that follows, you need to change the Action to **Deny** and fill out the **Priority** and **IP Address Block**. In this example, we use the **Inbound address** found on the Networking blade and we're setting it to /0 (for example, `12.123.12.123/0`). This disables all public access when visiting the site.
33+
34+
Once the Add rule form is filled out, select the **Add rule** button. Then click **Save**.
35+
36+
Once saved, you need to restart the site for the changes to take effect. Go to your overview page and select **browse**. You should now see your custom error page load.
37+
38+
## Error codes
39+
App Service currently supports three types of error codes that are available to customize:
40+
41+
| Error code | description |
42+
| ------------- | ------------- |
43+
| 403 | Access restrictions |
44+
| 502 | Gateway errors |
45+
| 503 | Service unavailable |
46+
47+
## FAQ
48+
1. I've uploaded my error page, why doesn't it show when the error is triggered?
49+
50+
Currently, error pages are only triggered when the error is coming from the front end. Errors that get triggered at the app level should still be handled through the app.
51+
52+
2. Why is the error page feature greyed out?
53+
54+
Error pages are currently a Premium feature. You need to use at least a Premium SKU to enable the feature.

articles/app-service/includes/deploy-intelligent-apps/deploy-intelligent-apps-linux-dotnet-pivot.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ For OpenAI, see this [documentation](https://platform.openai.com/docs/api-refere
7575
- `apiKey`
7676
- `modelId`
7777

78-
Since we are deploying to App Service, we can secure these secrets in **Azure Key Vault** for protection. Follow the [Quickstart](/azure/key-vault/secrets/quick-create-cli#create-a-key-vault) to set up your Key Vault and add the secrets you saved from earlier.
78+
Since we're deploying to App Service, we can secure these secrets in **Azure Key Vault** for protection. Follow the [Quickstart](/azure/key-vault/secrets/quick-create-cli#create-a-key-vault) to set up your Key Vault and add the secrets you saved from earlier.
7979
Next, we can use Key Vault references as app settings in our App Service resource to reference in our application. Follow the instructions in the [documentation](../../app-service-key-vault-references.md?source=recommendations&tabs=azure-cli) to grant your app access to your Key Vault and to set up Key Vault references.
8080
Then, go to the portal Environment Variables blade in your resource and add the following app settings:
8181

@@ -190,11 +190,11 @@ var kernel = builder.Build();
190190

191191
### Secure your app with managed identity
192192

193-
If youre using Azure OpenAI, it's highly recommended to secure your application using [managed identity](../../overview-managed-identity.md) to authenticate your app to your Azure OpenAI resource. This enables your application to access the Azure OpenAI resource without needing to manage API keys. If you're not using Azure OpenAI, your secrets can remain secure using Azure Key Vault outlined above.
193+
If you're using Azure OpenAI, it's highly recommended to secure your application using [managed identity](../../overview-managed-identity.md) to authenticate your app to your Azure OpenAI resource. This enables your application to access the Azure OpenAI resource without needing to manage API keys. If you're not using Azure OpenAI, your secrets can remain secure using Azure Key Vault outlined above.
194194

195195
Follow the steps below to secure your application with managed identity:
196196

197-
Add the identity package `Azure.Identity`. This package enables using Azure credentials in your app. Install the package using Nuget package manager and add the using statement to the top of the OpenAI.razor file.
197+
Add the identity package `Azure.Identity`. This package enables using Azure credentials in your app. Install the package using NuGet package manager and add the using statement to the top of the OpenAI.razor file.
198198

199199
```c#
200200
@using Azure.Identity
@@ -215,7 +215,7 @@ var kernel = Kernel.CreateBuilder()
215215
Once the credentials are added to the application, you'll then need to enable managed identity in your application and grant access to the resource.
216216

217217
1. In your web app resource, navigate to the **Identity** blade and turn on **System assigned** and click **Save**
218-
2. Once System assigned identity is turned on, it register's the web app with Microsoft Entra ID and the web app can be granted permissions to access protected resources.
218+
2. Once System assigned identity is turned on, it registers the web app with Microsoft Entra ID and the web app can be granted permissions to access protected resources.
219219
3. Go to your Azure OpenAI resource and navigate to the **Access control (IAM)** blade on the left pane.
220220
4. Find the Grant access to this resource card and click on **Add role assignment**
221221
5. Search for the **Cognitive Services OpenAI User** role and click **Next**

articles/app-service/toc.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,9 @@
4141
- name: Use settings from App Configuration
4242
href: app-service-configuration-references.md
4343
- name: App settings reference
44-
href: reference-app-settings.md
44+
href: reference-app-settings.md
45+
- name: Configure error pages
46+
href: configure-error-pages.md
4547
- name: Configure specific languages
4648
items:
4749
- name: Configure ASP.NET

articles/application-gateway/application-gateway-backend-health-troubleshooting.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -417,7 +417,7 @@ This behavior can occur for one or more of the following reasons:
417417
Next hop: Azure Firewall private IP address
418418

419419
> [!NOTE]
420-
> If the application gateway is not able to access the CRL endpoints, it marks the backend health status as "unknown" and cause fast update failures. To prevent these issues, check that your application gateway subnet is able to access `crl.microsoft.com` and `crl3.digicert.com`. This can be done by configuring your Network Security Groups to send traffic to the CRL endpoints.
420+
> If the application gateway is not able to access the CRL endpoints, it might mark the backend health status as "unknown". To prevent these issues, check that your application gateway subnet is able to access `crl.microsoft.com` and `crl3.digicert.com`. This can be done by configuring your Network Security Groups to send traffic to the CRL endpoints.
421421
422422
## Next steps
423423

articles/application-gateway/application-gateway-faq.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ sections:
6767
answer: |
6868
`Keep-Alive` timeout governs how long the application gateway waits for a client to send another HTTP request on a persistent connection before reusing it or closing it. TCP idle timeout governs how long a TCP connection is kept open if there's no activity.
6969
70-
The `Keep-Alive` timeout in the Application Gateway v1 SKU is 120 seconds and in the v2 SKU it's 75 seconds. For private IP addresses, the value is nonconfigurable with a TCP idle timeout of 5 minutes. The TCP idle timeout is a 4-minute default on the frontend virtual IP (VIP) of both v1 and v2 SKU of Application Gateway. You can configure the TCP idle timeout value on v1 and v2 Application Gateway instances to be anywhere between 4 minutes and 30 minutes. For both v1 and v2 Application Gateway instances, you need to go to the public IP of the application gateway and change the TCP idle timeout under the **Configuration** pane of the public IP in the portal. You can set the TCP idle timeout value of the public IP through PowerShell by running the following commands:
70+
For HTTP/1.1 connections, the `Keep-Alive` timeout in the Application Gateway v1 and v2 SKU is 120 seconds. For private IP addresses, the value is nonconfigurable with a TCP idle timeout of 5 minutes. The TCP idle timeout is a 4-minute default on the frontend virtual IP (VIP) of both v1 and v2 SKU of Application Gateway. You can configure the TCP idle timeout value on v1 and v2 Application Gateway instances to be anywhere between 4 minutes and 30 minutes. For both v1 and v2 Application Gateway instances, you need to go to the public IP of the application gateway and change the TCP idle timeout under the **Configuration** pane of the public IP in the portal. You can set the TCP idle timeout value of the public IP through PowerShell by running the following commands:
7171
7272
```azurepowershell-interactive
7373
$publicIP = Get-AzPublicIpAddress -Name MyPublicIP -ResourceGroupName MyResourceGroup
@@ -77,6 +77,8 @@ sections:
7777
7878
For HTTP/2 connections to the frontend IP address on Application Gateway v2 SKU, the idle timeout is set to 180 seconds and is nonconfigurable.
7979
80+
To prevent conflict and unexpected behavior, make sure that the TCP idle timeout is set to be the same as or longer than the keep-alive timeout.
81+
8082
- question: Does Application Gateway reuse the TCP connection that's established with a backend server?
8183
answer: Yes. Application Gateway reuses the existing TCP connections with a backend server.
8284

articles/automation/disable-local-authentication.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ title: Disable local authentication in Azure Automation
33
description: This article describes disabling local authentication in Azure Automation.
44
services: automation
55
ms.subservice: process-automation
6-
ms.date: 11/20/2023
7-
ms.custom: engagement-fy23
6+
ms.date: 06/06/2024
7+
ms.custom: engagement-fy24
88
ms.topic: how-to
99
#Customer intent: As an administrator, I want disable local authentication so that I can enhance security.
1010
ms.service: azure-automation
@@ -40,7 +40,7 @@ The following table describes the behaviors or features that are prevented from
4040
|Starting a runbook using a webhook. | Start a runbook job using Azure Resource Manager template, which uses Microsoft Entra authentication. |
4141
|Using Automation Desired State Configuration.| Use [Azure Policy Guest configuration](../governance/machine-configuration/overview.md).  |
4242
|Using agent-based Hybrid Runbook Workers.| Use [extension-based Hybrid Runbook Workers](./extension-based-hybrid-runbook-worker-install.md).|
43-
|Using Azure Update Manager |Use [Azure Update Manager](../update-manager/overview.md)|
43+
|Using Automation Update Management |Use [Azure Update Manager](../update-manager/overview.md)|
4444

4545

4646
## Next steps

articles/azure-netapp-files/data-plane-security.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ services: azure-netapp-files
55
author: b-ahibbard
66
ms.service: azure-netapp-files
77
ms.topic: conceptual
8-
ms.date: 09/30/2024
8+
ms.date: 10/25/2024
99
ms.author: anfdocs
1010
---
1111

@@ -114,9 +114,10 @@ For more information on data encryption at rest, see [Understand data encryption
114114
The data plane manages the encryption keys used to encrypt and decrypt data. These keys can be either platform-managed or customer-managed:
115115

116116
- **Platform-managed keys** are automatically managed by Azure, ensuring secure storage and rotation of keys.
117-
- **Customer-managed keys** are stored in Azure Key Vault, allowing you to manage the lifecycle, usage permissions, and auditing of your encryption keys.
117+
- [**Customer-managed keys**](configure-customer-managed-keys.md) are stored in Azure Key Vault, allowing you to manage the lifecycle, usage permissions, and auditing of your encryption keys.
118+
- [**Customer-managed keys with managed Hardware Security Module (HSM)**](configure-customer-managed-keys-hardware.md) is an extension to customer-managed keys for Azure NetApp Files volume encryption feature. This HSM extension allows you to store your encryptions keys in a more secure FIPS 140-2 Level 3 HSM instead of the FIPS 140-2 Level 1 or Level 2 service used by Azure Key Vault (AKV).
118119

119-
For more information about Azure NetApp Files key management, see [How are encryption keys managed](faq-security.md#how-are-encryption-keys-managed) or [Configure customer-managed keys](configure-customer-managed-keys.md).
120+
For more information about Azure NetApp Files key management, see [How are encryption keys managed](faq-security.md#how-are-encryption-keys-managed), [Configure customer-managed keys](configure-customer-managed-keys.md), or [customer-managed keys with managed HSM](configure-customer-managed-keys-hardware.md).
120121

121122
## Lightweight directory access protocol (LDAP) encryption
122123

articles/azure-netapp-files/faq-security.md

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ ms.service: azure-netapp-files
55
ms.topic: conceptual
66
author: b-hchen
77
ms.author: anfdocs
8-
ms.date: 08/07/2024
8+
ms.date: 10/24/2024
99
ms.custom: references_regions
1010
---
1111
# Security FAQs for Azure NetApp Files
@@ -30,12 +30,10 @@ Azure NetApp Files cross-region and cross-zone replication uses TLS 1.2 AES-256
3030

3131
By default key management for Azure NetApp Files is handled by the service, using [platform-managed keys](../security/fundamentals/key-management.md). A unique XTS-AES-256 data encryption key is generated for each volume. An encryption key hierarchy is used to encrypt and protect all volume keys. These encryption keys are never displayed or reported in an unencrypted format. When you delete a volume, Azure NetApp Files immediately deletes the volume's encryption keys.
3232

33-
Alternatively, [customer-managed keys for Azure NetApp Files volume encryption](configure-customer-managed-keys.md) can be used where keys are stored in [Azure Key Vault](/azure/key-vault/general/basic-concepts). With customer-managed keys, you can fully manage the relationship between a key's life cycle, key usage permissions, and auditing operations on keys. The feature is generally available (GA) in [supported regions](configure-customer-managed-keys.md#supported-regions).
33+
Alternatively, [customer-managed keys for Azure NetApp Files volume encryption](configure-customer-managed-keys.md) can be used where keys are stored in [Azure Key Vault](/azure/key-vault/general/basic-concepts). With customer-managed keys, you can fully manage the relationship between a key's life cycle, key usage permissions, and auditing operations on keys. The feature is generally available (GA) in [supported regions](configure-customer-managed-keys.md#supported-regions). [Azure NetApp Files volume encryption with customer-managed keys with the managed Hardware Security Module](configure-customer-managed-keys-hardware.md) is an extension to this feature, allowing you to store your encryption keys in a more secure FIPS 140-2 Level 3 HSM instead of the FIPS 140-2 Level 1 or Level 2 service used by Azure Key Vault.
3434

3535
Azure NetApp Files supports the ability to move existing volumes using platform-managed keys to customer-managed keys. Once you complete the transition, you cannot revert back to platform-managed keys. For additional information, see [Transition an Azure NetApp Files volume to customer-managed keys](configure-customer-managed-keys.md#transition).
3636

37-
<!-- Also, customer-managed keys using Azure Dedicated HSM is supported on a controlled basis. Support is currently available in the East US, South Central US, West US 2, and US Gov Virginia regions. You can request access [with the Azure NetApp Files feedback form](https://aka.ms/ANFFeedback). As capacity becomes available, requests will be approved. -->
38-
3937
## Can I configure the NFS export policy rules to control access to the Azure NetApp Files service mount target?
4038

4139
Yes, you can configure up to five rules in a single NFS export policy.

articles/azure-netapp-files/performance-large-volumes-linux.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ ms.workload: storage
1313
ms.tgt_pltfrm: na
1414
ms.custom: linux-related-content
1515
ms.topic: conceptual
16-
ms.date: 10/24/2024
16+
ms.date: 10/25/2024
1717
ms.author: anfdocs
1818
---
1919
# Azure NetApp Files large volume performance benchmarks for Linux
@@ -87,9 +87,9 @@ The following graphs compare the advantages of `nconnect` with an NFS-mounted vo
8787

8888
### Linux read throughput
8989

90-
The following graphs show 256-KiB sequential reads of ~10,000MiB/s with `nconnect`, which is roughly ten times the throughput achieved without `nconnect`.
90+
The following graphs show 256-KiB sequential reads of approximately 10,000M iB/s with `nconnect`, which is roughly ten times the throughput achieved without `nconnect`.
9191

92-
Note that 10,000 MiB/s bandwidth is offered by a large volume in the Ultra service level.
92+
Note that 10,000 MiB/s is roughly the line rate of the 100 Gbps network interface card attached to the E104id_v5.
9393

9494
:::image type="content" source="./media/performance-large-volumes-linux/throughput-comparison-nconnect.png" alt-text="Bar chart comparison of read throughput with and without nconnect." lightbox="./media/performance-large-volumes-linux/throughput-comparison-nconnect.png":::
9595

articles/azure-resource-manager/management/resource-name-rules.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -492,6 +492,7 @@ In the following tables, the term alphanumeric refers to:
492492
> | scheduledQueryRules | resource group | 1-260 | Can't use:<br>`*<>%{}&:\\?/#|` or control characters <br><br>Can't end with space or period. |
493493
> | metricAlerts | resource group | 1-260 | Can't use:<br>`*#&+:<>?@%{}\/|` or control characters <br><br>Can't end with space or period. |
494494
> | activityLogAlerts | resource group | 1-260 | Can't use:<br>`<>*%{}&:\\?+/#|` or control characters <br><br>Can't end with space or period. |
495+
> | PrometheusAlerts | resource group | 1-260 | Can't use:<br>`<>*%{}&:\\?+/#|` or control characters <br><br>Can't end with space or period. |
495496
496497
## Microsoft.IoTCentral
497498

0 commit comments

Comments
 (0)