Skip to content

Commit e1c9ef0

Browse files
authored
Merge pull request #296646 from MicrosoftDocs/main
3/20/2025 11:00 AM IST Publish
2 parents 957d1ae + a496e70 commit e1c9ef0

File tree

56 files changed

+1526
-184
lines changed

Some content is hidden

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

56 files changed

+1526
-184
lines changed

articles/app-service/deploy-staging-slots.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
title: Set up Staging Environments in Azure App Service
2+
title: Set Up Staging Environments
33
description: Learn how to deploy apps to a nonproduction slot and automatically swap into production. Increase the reliability and eliminate app downtime from deployments.
44
ms.assetid: e224fc4f-800d-469a-8d6a-72bcde612450
55
ms.topic: how-to

articles/app-service/overview-authentication-authorization.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
title: Authentication and Authorization in Azure App Service and Azure Functions
2+
title: Authentication and Authorization
33
description: Learn about the built-in authentication and authorization support in Azure App Service and Azure Functions, and how it can help secure your app against unauthorized access.
44
ms.assetid: b7151b57-09e5-4c77-a10c-375a262f17e5
55
ms.topic: conceptual

articles/app-service/overview-managed-identity.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
title: Use managed identities for App Service and Azure Functions
2+
title: Managed Identities
33
description: Learn how managed identities work in Azure App Service and Azure Functions, along with how to configure a managed identity and generate a token for a back-end resource.
44
ms.topic: how-to
55
ms.date: 09/30/2024

articles/app-service/troubleshoot-diagnostic-logs.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
title: Enable Diagnostic Logging for Apps in Azure App Service
2+
title: Enable Diagnostic Logging
33
description: Learn how to enable diagnostic logging and add instrumentation to your application, along with how to access the information logged by Azure.
44
ms.assetid: c9da27b2-47d4-4c33-a3cb-1819955ee43b
55
ms.topic: how-to

articles/application-gateway/configuration-http-settings.md

Lines changed: 17 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ services: application-gateway
55
author: greg-lindsay
66
ms.service: azure-application-gateway
77
ms.topic: concept-article
8-
ms.date: 10/03/2024
8+
ms.date: 03/19/2025
99
ms.author: greglin
1010
---
1111

@@ -15,37 +15,40 @@ The application gateway routes traffic to the backend servers by using the confi
1515

1616
## Cookie-based affinity
1717

18-
Azure Application Gateway uses gateway-managed cookies for maintaining user sessions. When a user sends the first request to Application Gateway, it sets an affinity cookie in the response with a hash value which contains the session details, so that the subsequent requests carrying the affinity cookie are routed to the same backend server for maintaining stickiness.
18+
Azure Application Gateway uses gateway-managed cookies for maintaining user sessions. When a user sends the first request to Application Gateway, it sets an affinity cookie in the response with a hash value that contains the session details. This process enables subsequent requests that carry the affinity cookie to be routed to the same backend server, thus maintaining stickiness.
1919

2020
This feature is useful when you want to keep a user session on the same server and when session state is saved locally on the server for a user session. If the application can't handle cookie-based affinity, you can't use this feature. To use it, make sure that the clients support cookies.
21+
2122
> [!NOTE]
22-
> Some vulnerability scans may flag the Application Gateway affinity cookie because the Secure or HttpOnly flags are not set. These scans do not take into account that the data in the cookie is generated using a one-way hash. The cookie doesn't contain any user information and is used purely for routing.
23+
> Some vulnerability scans may flag the Application Gateway affinity cookie because the Secure or HttpOnly flags are not set. These scans don't take into account that the data in the cookie is generated using a one-way hash. The cookie doesn't contain any user information and is used purely for routing.
2324
2425

2526
The [Chromium browser](https://www.chromium.org/Home) [v80 update](https://chromiumdash.appspot.com/schedule) brought a mandate where HTTP cookies without [SameSite](https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-rfc6265bis-03#rfc.section.5.3.7) attribute have to be treated as SameSite=Lax. For CORS (Cross-Origin Resource Sharing) requests, if the cookie has to be sent in a third-party context, it has to use *SameSite=None; Secure* attributes and it should be sent over HTTPS only. Otherwise, in an HTTP only scenario, the browser doesn't send the cookies in the third-party context. The goal of this update from Chrome is to enhance security and to avoid Cross-Site Request Forgery (CSRF) attacks.
2627

2728
To support this change, starting February 17 2020, Application Gateway (all the SKU types) will inject another cookie called *ApplicationGatewayAffinityCORS* in addition to the existing *ApplicationGatewayAffinity* cookie. The *ApplicationGatewayAffinityCORS* cookie has two more attributes added to it (*"SameSite=None; Secure"*) so that sticky sessions are maintained even for cross-origin requests.
2829

29-
Note that the default affinity cookie name is *ApplicationGatewayAffinity* and you can change it. If in your network topology, you deploy multiple application gateways in line, you must set unique cookie names for each resource. If you're using a custom affinity cookie name, an additional cookie is added with `CORS` as suffix. For example: *CustomCookieNameCORS*.
30+
The default affinity cookie name is *ApplicationGatewayAffinity* and you can change it. If in your network topology, you deploy multiple application gateways in line, you must set unique cookie names for each resource. If you're using a custom affinity cookie name, an additional cookie is added with `CORS` as suffix. For example: *CustomCookieNameCORS*.
3031

3132
> [!NOTE]
32-
> If the attribute *SameSite=None* is set, it is mandatory that the cookie also contains the *Secure* flag, and must be sent over HTTPS. If session affinity is required over CORS, you must migrate your workload to HTTPS.
33-
Please refer to TLS offload and End-to-End TLS documentation for Application Gateway here – [Overview](ssl-overview.md), [Configure an application gateway with TLS termination using the Azure portal](create-ssl-portal.md), [Configure end-to-end TLS by using Application Gateway with the portal](end-to-end-ssl-portal.md).
33+
> If the attribute *SameSite=None* is set, it's mandatory that the cookie also contains the *Secure* flag, and must be sent over HTTPS. If session affinity is required over CORS, you must migrate your workload to HTTPS. Refer to TLS offload and End-to-End TLS documentation for Application Gateway. See the [SSL overview](ssl-overview.md), [Configure an application gateway with TLS termination](create-ssl-portal.md), and [Configure end-to-end TLS](end-to-end-ssl-portal.md).
3434
3535
## Connection draining
3636

3737
Connection draining helps you gracefully remove backend pool members during planned service updates. It applies to backend instances that are
3838
- explicitly removed from the backend pool, or
3939
- reported as unhealthy by the health probes.
4040

41-
You can apply this setting to all backend pool members by enabling Connection Draining in the Backend Setting. It ensures that all deregistering instances in a backend pool don't receive any new requests/connections while maintaining the existing connections until the configured timeout value. This is also true for WebSocket connections.
41+
You can apply this setting to all backend pool members by enabling Connection Draining in the Backend Setting. It ensures that all deregistering instances in a backend pool don't receive any new requests/connections while maintaining the existing connections until the configured timeout value. This process is also true for WebSocket connections.
4242

4343
| Configuration Type | Value |
4444
| ---------- | ---------- |
45-
|Default value when Connection Draining is not enabled in Backend Setting| 30 seconds |
45+
|Default value when Connection Draining isn't enabled in Backend Setting| 30 seconds |
4646
|User-defined value when Connection Draining is enabled in Backend Setting | 1 to 3600 seconds |
4747

48-
The only exception to this are requests bound for deregistering instances because of gateway-managed session affinity. These requests continue to be forwarded to the deregistering instances.
48+
The only exception to this process are requests bound for deregistering instances because of gateway-managed session affinity. These requests continue to be forwarded to the deregistering instances.
49+
50+
> [!NOTE]
51+
> There's a limitation where a configuration update will terminate ongoing connections after the connection draining timeout. To address this limitation, you must increase the connection draining time-out in the backend settings to a value higher than the max expected client download time.
4952
5053
## Protocol
5154

@@ -100,11 +103,11 @@ This setting associates a [custom probe](application-gateway-probe-overview.md#c
100103
101104
## Configuring the host name
102105

103-
Application Gateway allows for the connection established to the backend to use a *different* hostname than the one used by the client to connect to Application Gateway. While this configuration can be useful in some cases, exercise caution when overriding the hostname such that it is different between the application gateway and the client compared to the backend target.
106+
Application Gateway allows for the connection established to the backend to use a *different* hostname than the one used by the client to connect to Application Gateway. While this configuration can be useful in some cases, exercise caution when overriding the hostname such that it's different between the application gateway and the client compared to the backend target.
104107

105-
In production, it is recommended to keep the hostname used by the client towards the application gateway as the same hostname used by the application gateway to the backend target. This avoids potential issues with absolute URLs, redirect URLs, and host-bound cookies.
108+
In production environments, it's a best practice to use the same hostname for the client to application gateway connection and application gateway to backend target connection. This practice avoids potential issues with absolute URLs, redirect URLs, and host-bound cookies.
106109

107-
Before setting up Application Gateway that deviates from this, please review the implications of such configuration as discussed in more detail in Architecture Center: [Preserve the original HTTP host name between a reverse proxy and its backend web application](/azure/architecture/best-practices/host-name-preservation)
110+
Before setting up Application Gateway that deviates from this, review the implications of such configuration as discussed in more detail in Architecture Center: [Preserve the original HTTP host name between a reverse proxy and its backend web application](/azure/architecture/best-practices/host-name-preservation)
108111

109112
There are two aspects of an HTTP setting that influence the [`Host`](https://datatracker.ietf.org/doc/html/rfc2616#section-14.23) HTTP header that is used by Application Gateway to connect to the backend:
110113
- "Pick host name from backend-address"
@@ -120,10 +123,10 @@ An example case is multi-tenant services as the back end. An app service is a mu
120123

121124
By default, the custom domain name is *example.azurewebsites.net*. To access your app service by using an application gateway through a hostname that's not explicitly registered in the app service or through the application gateway's FQDN, you can override the hostname in the original request to the app service's hostname. To do this, enable the **pick host name from backend address** setting.
122125

123-
For a custom domain whose existing custom DNS name is mapped to the app service, the recommended configuration is not to enable the **pick host name from backend address**.
126+
For a custom domain whose existing custom DNS name is mapped to the app service, the recommended configuration isn't to enable the **pick host name from backend address**.
124127

125128
> [!NOTE]
126-
> This setting is not required for App Service Environment, which is a dedicated deployment.
129+
> This setting isn't required for App Service Environment, which is a dedicated deployment.
127130
128131
## Host name override
129132

articles/application-gateway/for-containers/overview.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ Application Gateway for Containers offers some entirely new features at release,
4444
- Mutual authentication to the backend target
4545
- Kubernetes support for Ingress and Gateway API
4646
- Flexible [deployment strategies](#deployment-strategies)
47-
- Increased performance, offering near real-time updates to add or move pods, routes, and probes
47+
- Increased performance, offering near real-time updates to add or remove pods, routes, and probes
4848

4949
Application Gateway for Containers offers an elastic and scalable ingress to AKS clusters and comprises a new data plane as well as control plane with [new set of ARM APIs](#implementation-of-gateway-api), different from existing Application Gateway. These APIs are different from the current implementation of Application Gateway. Application Gateway for Containers is outside the AKS cluster data plane and is responsible for ingress. The service is managed by an ALB controller component that runs inside the AKS cluster and adheres to Kubernetes Gateway APIs.
5050

articles/azure-functions/durable/TOC.yml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,20 @@
101101
href: durable-functions-disaster-recovery-geo-distribution.md
102102
- name: Data persistence and serialization
103103
href: durable-functions-serialization-and-persistence.md
104+
- name: Durable task scheduler
105+
items:
106+
- name: Overview
107+
href: ./durable-task-scheduler/durable-task-scheduler.md
108+
- name: Quickstart
109+
href: ./durable-task-scheduler/quickstart-durable-task-scheduler.md
110+
- name: Develop
111+
href: ./durable-task-scheduler/develop-with-durable-task-scheduler.md
112+
- name: Manage and monitor
113+
href: ./durable-task-scheduler/durable-task-scheduler-dashboard.md
114+
- name: Billing
115+
href: ./durable-task-scheduler/durable-task-scheduler-dedicated-sku.md
116+
- name: Troubleshooting
117+
href: ./durable-task-scheduler/troubleshoot-durable-task-scheduler.md
104118
- name: Reference
105119
items:
106120
- name: Host.json settings

0 commit comments

Comments
 (0)