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/application-gateway/for-containers/custom-health-probe.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,7 +5,7 @@ services: application gateway
5
5
author: greg-lindsay
6
6
ms.service: azure-appgw-for-containers
7
7
ms.topic: conceptual
8
-
ms.date: 9/16/2024
8
+
ms.date: 10/28/2024
9
9
ms.author: greglin
10
10
---
11
11
@@ -35,7 +35,7 @@ The following properties make up custom health probes:
35
35
| (http) host | The hostname specified in the request to the backend target. |
36
36
| (http) path | The specific path of the request. If a single file should be loaded, the path might be /index.html. |
37
37
| (http -> match) statusCodes | Contains two properties, `start` and `end`, that define the range of valid HTTP status codes returned from the backend. |
38
-
|UseTLS|UseTLS indicates whether health check should enforce TLS. If not specified, health check uses the same protocol as the service if the same port is used for health check. If the port is different, health check is cleartext. |
38
+
|useTLS|Specifies if the health check should enforce TLS. If not specified, health check uses the same protocol as the service if the same port is used for health check. If the port is different, health check is cleartext. |
39
39
40
40
[](./media/custom-health-probe/custom-health-probe.png#lightbox)
41
41
@@ -56,7 +56,7 @@ When the default health probe is used, the following values for each health prob
56
56
| port | The port number used is defined by the backend port number in the Ingress resource or HttpRoute backend port in the HttpRoute resource. |
57
57
| (http) host | localhost |
58
58
| (http) path | / |
59
-
|UseTLS| HTTP for HTTP and HTTPS when TLS is specified. |
59
+
|useTLS| HTTP for HTTP and HTTPS when TLS is specified. |
60
60
61
61
<sup>1</sup> HTTPS is used when a backendTLSPolicy references a target backend service (for Gateway API implementation) or IngressExtension with a backendSetting protocol of HTTPS (for Ingress API implementation) is specified.
Copy file name to clipboardExpand all lines: articles/application-gateway/for-containers/migrate-from-agic-to-agc.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,7 +5,7 @@ services: application gateway
5
5
author: greg-lindsay
6
6
ms.service: azure-appgw-for-containers
7
7
ms.topic: conceptual
8
-
ms.date: 9/16/2024
8
+
ms.date: 10/28/2024
9
9
ms.author: greglin
10
10
---
11
11
@@ -66,7 +66,7 @@ Here's a summarized list of AGIC annotations and whether Application Gateway for
66
66
|[Private frontend](migrate-from-agic-to-agc.md#private-frontend)| appgw.ingress.kubernetes.io/use-private-ip | Not supported | Not supported |
67
67
|[WAF](migrate-from-agic-to-agc.md#waf)| appgw.ingress.kubernetes.io/waf-policy-for-path | Not supported | Not supported |
68
68
|[Custom health probe](migrate-from-agic-to-agc.md#custom-health-probes)| appgw.ingress.kubernetes.io/health-probe-hostname |[HealthCheckPolicy](migrate-from-agic-to-agc.md#healthcheckpolicy)|[HealthCheckPolicy](migrate-from-agic-to-agc.md#healthcheckpolicy)|
69
-
|[Custom health probe](migrate-from-agic-to-agc.md#custom-health-probes)| appgw.ingress.kubernetes.io/health-probe-port |Not supported|Not supported|
69
+
|[Custom health probe](migrate-from-agic-to-agc.md#custom-health-probes)| appgw.ingress.kubernetes.io/health-probe-port |[HealthCheckPolicy](migrate-from-agic-to-agc.md#healthcheckpolicy)|[HealthCheckPolicy](migrate-from-agic-to-agc.md#healthcheckpolicy)|
70
70
|[Custom health probe](migrate-from-agic-to-agc.md#custom-health-probes)| appgw.ingress.kubernetes.io/health-probe-path |[HealthCheckPolicy](migrate-from-agic-to-agc.md#healthcheckpolicy)|[HealthCheckPolicy](migrate-from-agic-to-agc.md#healthcheckpolicy)|
71
71
|[Custom health probe](migrate-from-agic-to-agc.md#custom-health-probes)| appgw.ingress.kubernetes.io/health-probe-status-codes |[HealthCheckPolicy](migrate-from-agic-to-agc.md#healthcheckpolicy)|[HealthCheckPolicy](migrate-from-agic-to-agc.md#healthcheckpolicy)|
72
72
|[Custom health probe](migrate-from-agic-to-agc.md#custom-health-probes)| appgw.ingress.kubernetes.io/health-probe-interval |[HealthCheckPolicy](migrate-from-agic-to-agc.md#healthcheckpolicy)|[HealthCheckPolicy](migrate-from-agic-to-agc.md#healthcheckpolicy)|
title: Route traffic using parameterbased path selection in portal - Azure Application Gateway
3
-
description: Learn how to use the Azure portal to configure an Azure Application Gateway to choose the backend pool based on the value of a header, part of URL, or query string in the request.
2
+
title: Route traffic using parameter-based path selection in portal - Azure Application Gateway
3
+
description: Use the Azure portal to configure an application gateway to choose the backend pool based on the value of a header, part of a URL, or a query string in the request.
This article describes how to use the Azure portal to configure an [Application Gateway v2 SKU](./application-gateway-autoscaling-zone-redundant.md) instance to perform parameterbased path selection by combining the capabilities of URL Rewrite with path-based routing.
14
+
This article describes how to use the Azure portal to configure an [Azure Application Gateway v2 SKU](./application-gateway-autoscaling-zone-redundant.md) instance to perform parameter-based path selection by combining the capabilities of URL Rewrite with path-based routing.
15
15
16
16
If you don't have an Azure subscription, create a [free account](https://azure.microsoft.com/free/?WT.mc_id=A261C142F) before you begin.
17
17
18
18
## Before you begin
19
19
20
-
You need to have an Application Gateway v2 SKU instance to complete the steps in this article. URL rewrite and rewriting headers aren't supported in the v1 SKU. If you don't have the v2 SKU, create an [Application Gateway v2 SKU](./tutorial-autoscale-ps.md) instance before you begin.
21
-
20
+
You need to have an Application Gateway v2 SKU instance to finish the steps in this article. URL Rewrite and rewriting headers aren't supported in the v1 SKU. If you don't have the v2 SKU, create an [Application Gateway v2 SKU](./tutorial-autoscale-ps.md) instance before you begin.
22
21
23
22
## Sign in to Azure
24
23
25
24
Sign in to the [Azure portal](https://portal.azure.com/) with your Azure account.
26
25
27
-
## Configure parameter based path selection
28
-
29
-
For this example, you have a shopping website and the product category is passed as query string in the URL, and you want to route the request to backend based on the query string, then:
30
-
31
-
**Step 1:** Create a path-map as shown in the following image:
26
+
## Configure parameter-based path selection
32
27
33
-
:::image type="content" source="./media/rewrite-http-headers-url/url-scenario1-1.png" alt-text="A screenshot of URL rewrite scenario 1-1.":::
28
+
For this example, you have a shopping website. The product category is passed as a query string in the URL. To route the request to the backend based on the query string, follow these steps.
34
29
35
-
**Step 2 (a):**Create a rewrite set which has 3 rewrite rules:
30
+
1.Create a path map.
36
31
37
-
* The first rule has a condition that checks the *query_string* variable for *category=shoes* and has an action that rewrites the URL path to /*listing1* and has **Reevaluate path map** enabled
32
+
:::image type="content" source="./media/rewrite-http-headers-url/url-scenario1-1.png" alt-text="Screenshot that shows a URL Rewrite scenario 1-1.":::
38
33
39
-
* The second rule has a condition that checks the *query_string* variable for *category=bags* and has an action that rewrites the URL path to /*listing2* and has **Reevaluate path map** enabled
34
+
1. Create a rewrite set that has three rewrite rules:
40
35
41
-
* The third rule has a condition that checks the *query_string* variable for *category=accessories* and has an action that rewrites the URL path to /*listing3* and has **Reevaluate path map** enabled
36
+
* The first rule has a condition that checks the `query_string` variable for `category=shoes`. An action rewrites the URL path to `/listing1`. **Reevaluate path map** is enabled.
37
+
* The second rule has a condition that checks the `query_string` variable for `category=bags`. An action rewrites the URL path to `/listing2`. **Reevaluate path map** is enabled.
38
+
* The third rule has a condition that checks the `query_string` variable for `category=accessories`. An action rewrites the URL path to `/listing3`. **Reevaluate path map** is enabled.
42
39
43
-
:::image type="content" source="./media/rewrite-http-headers-url/url-scenario1-2.png" alt-text="A screenshot of URL rewrite scenario 1-2.":::
40
+
:::image type="content" source="./media/rewrite-http-headers-url/url-scenario1-2.png" alt-text="Screenshot that shows the URL Rewrite scenario 1-2.":::
44
41
45
-
46
-
**Step 2 (b):** Associate this rewrite set with the default path of the previous path-based rule:
42
+
1. Associate this rewrite set with the default path of the previous path-based rule.
47
43
48
-
:::image type="content" source="./media/rewrite-http-headers-url/url-scenario1-3.png" alt-text="A screenshot of URL rewrite scenario 1-3.":::
44
+
:::image type="content" source="./media/rewrite-http-headers-url/url-scenario1-3.png" alt-text="Screenshot that shows the URL rewrite scenario 1-3.":::
49
45
50
-
If the user requests *contoso.com/listing?category=any*, then it's matched with the default path since none of the path patterns in the path map (/listing1, /listing2, /listing3) are matched. Since you associated the previous rewrite set with this path, this rewrite set is evaluated. Because the query string doesn't match the condition in any of the 3 rewrite rules in this rewrite set, no rewrite action takes place. Therefore, the request is routed unchanged to the backend associated with the default path (which is *GenericList*).
46
+
If the user requests `contoso.com/listing?category=any`, it's matched with the default path because the path patterns in the path map (`/listing1`, /`listing2`, /`listing3`) don't match. Because you associated the previous rewrite set with this path, this rewrite set is evaluated. The query string doesn't match the condition in any of the three rewrite rules in this rewrite set, so no rewrite action takes place. The request is routed unchanged to the backend associated with the default path (which is `GenericList`).
51
47
52
-
If the user requests *contoso.com/listing?category=shoes*, then the default path is matched. However, in this case, the condition in the first rule matches. Therefore, the action associated with the condition is executed, which rewrites the URL path to /*listing1*and reevaluates the path-map. When the path-map is reevaluated, the request matches the path associated with pattern */listing1* and the request is routed to the backend associated with this pattern (ShoesListBackendPool).
48
+
If the user requests `contoso.com/listing?category=shoes`, the default path is matched. In this case, the condition in the first rule matches. The action associated with the condition is executed, which rewrites the URL path to `/listing1`and reevaluates the pathmap. When the pathmap is reevaluated, the request matches the path associated with the pattern `/listing1`. The request is routed to the backend associated with this pattern (`ShoesListBackendPool`).
53
49
54
50
> [!NOTE]
55
-
> This scenario can be extended to any header or cookie value, URL path, query string or server variables based on the conditions defined and essentially enables you to route requests based on those conditions.
51
+
> You can extend this scenario to any header or cookie value, URL path, query string, or server variables based on the conditions defined. You can then route requests based on those conditions.
56
52
57
-
## Next steps
53
+
## Related content
58
54
59
-
To learn more about how to set up some common use cases, see [common header rewrite scenarios](./rewrite-http-headers-url.md).
55
+
To learn more about how to set up some common use cases, see [Common header rewrite scenarios](./rewrite-http-headers-url.md).
0 commit comments