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/application-gateway-ilb-arm.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: application-gateway
7
7
ms.topic: how-to
8
-
ms.date: 01/11/2022
8
+
ms.date: 09/13/2022
9
9
ms.author: greglin
10
10
ms.custom: devx-track-azurepowershell
11
11
---
@@ -35,7 +35,7 @@ This article walks you through the steps to configure a Standard v1 Application
35
35
## Create an application gateway
36
36
37
37
The difference between using Azure Classic and Azure Resource Manager is the order in which you create the application gateway and the items that need to be configured.
38
-
With Resource Manager, all items that make an application gateway is configured individually and then put together to create the application gateway resource.
38
+
With Resource Manager, all items that make an application gateway are configured individually and then put together to create the application gateway resource.
39
39
40
40
Here are the steps that are needed to create an application gateway:
Copy file name to clipboardExpand all lines: articles/application-gateway/application-gateway-troubleshooting-502.md
+30-30Lines changed: 30 additions & 30 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,8 +5,8 @@ services: application-gateway
5
5
author: greg-lindsay
6
6
ms.service: application-gateway
7
7
ms.topic: troubleshooting
8
-
ms.date: 11/16/2019
9
-
ms.author: amsriva
8
+
ms.date: 09/13/2022
9
+
ms.author: greglin
10
10
ms.custom: devx-track-azurepowershell
11
11
---
12
12
@@ -18,7 +18,7 @@ Learn how to troubleshoot bad gateway (502) errors received when using Azure App
18
18
19
19
## Overview
20
20
21
-
After configuring an application gateway, one of the errors that you may see is "Server Error: 502 - Web server received an invalid response while acting as a gateway or proxy server". This error may happen for the following main reasons:
21
+
After you configure an application gateway, one of the errors that you may see is **Server Error: 502 - Web server received an invalid response while acting as a gateway or proxy server**. This error may happen for the following main reasons:
22
22
23
23
* NSG, UDR, or Custom DNS is blocking access to backend pool members.
24
24
* Back-end VMs or instances of virtual machine scale set aren't responding to the default health probe.
@@ -31,42 +31,42 @@ After configuring an application gateway, one of the errors that you may see is
31
31
32
32
### Cause
33
33
34
-
If access to the backend is blocked because of an NSG, UDR, or custom DNS, application gateway instances can't reach the backend pool. This causes probe failures, resulting in 502 errors.
34
+
If access to the backend is blocked because of an NSG, UDR, or custom DNS, application gateway instances can't reach the backend pool. This issue causes probe failures, resulting in 502 errors.
35
35
36
36
The NSG/UDR could be present either in the application gateway subnet or the subnet where the application VMs are deployed.
37
37
38
-
Similarly, the presence of a custom DNS in the VNet could also cause issues. A FQDN used for backend pool members might not resolve correctly by the user configured DNS server for the VNet.
38
+
Similarly, the presence of a custom DNS in the VNet could also cause issues. An FQDN used for backend pool members might not resolve correctly by the user configured DNS server for the VNet.
39
39
40
40
### Solution
41
41
42
42
Validate NSG, UDR, and DNS configuration by going through the following steps:
43
43
44
-
* Check NSGs associated with the application gateway subnet. Ensure that communication to backend isn't blocked.
45
-
* Check UDR associated with the application gateway subnet. Ensure that the UDR isn't directing traffic away from the backend subnet. For example, check for routing to network virtual appliances or default routes being advertised to the application gateway subnet via ExpressRoute/VPN.
44
+
1. Check NSGs associated with the application gateway subnet. Ensure that communication to backend isn't blocked.
45
+
2. Check UDR associated with the application gateway subnet. Ensure that the UDR isn't directing traffic away from the backend subnet. For example, check for routing to network virtual appliances or default routes being advertised to the application gateway subnet via ExpressRoute/VPN.
5. If present, ensure that the DNS server can resolve the backend pool member's FQDN correctly.
70
70
71
71
## Problems with default health probe
72
72
@@ -91,9 +91,9 @@ The following table lists the values associated with the default health probe:
91
91
* Protocol of the request is determined by the BackendHttpSetting protocol.
92
92
* URI Path will be set to */*.
93
93
* If BackendHttpSetting specifies a port other than 80, the default site should be configured to listen at that port.
94
-
* The call to `protocol://127.0.0.1:port` should return an HTTP result code of 200. This should be returned within the 30-second timeout period.
94
+
* The call to `protocol://127.0.0.1:port` should return an HTTP result code of 200. This code should be returned within the 30-second timeout period.
95
95
* Ensure the configured port is open and there are no firewall rules or Azure Network Security Groups blocking incoming or outgoing traffic on the port configured.
96
-
* If Azure classic VMs or Cloud Service is used with a FQDN or a public IP, ensure that the corresponding [endpoint](/previous-versions/azure/virtual-machines/windows/classic/setup-endpoints?toc=%2fazure%2fapplication-gateway%2ftoc.json) is opened.
96
+
* If Azure classic VMs or Cloud Service is used with an FQDN or a public IP, ensure that the corresponding [endpoint](/previous-versions/azure/virtual-machines/windows/classic/setup-endpoints?toc=%2fazure%2fapplication-gateway%2ftoc.json) is opened.
97
97
* If the VM is configured via Azure Resource Manager and is outside the VNet where the application gateway is deployed, a [Network Security Group](../virtual-network/network-security-groups-overview.md) must be configured to allow access on the desired port.
98
98
99
99
## Problems with custom health probe
@@ -128,7 +128,7 @@ Validate that the Custom Health Probe is configured correctly as the preceding t
128
128
129
129
### Cause
130
130
131
-
When a user request is received, the application gateway applies the configured rules to the request and routes it to a back-end pool instance. It waits for a configurable interval of time for a response from the back-end instance. By default, this interval is **20** seconds. In Application Gateway v1, if the application gateway does not receive a response from back-end application in this interval, the user request gets a 502 error. In Application Gateway v2, if the application gateway does not receive a response from the back-end application in this interval, the request will be tried against a second back-end pool member. If the second request fails the user request gets a 502 error.
131
+
When a user request is received, the application gateway applies the configured rules to the request and routes it to a back-end pool instance. It waits for a configurable interval of time for a response from the back-end instance. By default, this interval is **20** seconds. In Application Gateway v1, if the application gateway doesn't receive a response from back-end application in this interval, the user request gets a 502 error. In Application Gateway v2, if the application gateway doesn't receive a response from the back-end application in this interval, the request will be tried against a second back-end pool member. If the second request fails the user request gets a 502 error.
132
132
133
133
### Solution
134
134
@@ -152,7 +152,7 @@ Ensure that the back-end address pool isn't empty. This can be done either via P
The output from the preceding cmdlet should contain non-empty back-end address pool. The following example shows two pools returned which are configured with a FQDN or an IP addresses for the backend VMs. The provisioning state of the BackendAddressPool must be 'Succeeded'.
155
+
The output from the preceding cmdlet should contain non-empty back-end address pool. The following example shows two pools returned which are configured with an FQDN or an IP addresses for the backend VMs. The provisioning state of the BackendAddressPool must be 'Succeeded'.
@@ -32,7 +32,7 @@ Application Gateway (Standard or WAF) SKU can support up to 32 instances (32 ins
32
32
33
33
Application Gateway (Standard_v2 or WAF_v2 SKU) can support up to 125 instances (125 instance IP addresses + 1 private frontend IP configuration + 5 Azure reserved). A minimum subnet size of /24 is recommended.
34
34
35
-
To determine the available capacity of a subnet that has existing Application Gateways provisioned, take the size of the subnet and subtract the five reserved IP addresses of the subnet reserved by the platform. Next, take each gateway and subtract the the max-instance count. For each gateway that has a private frontend IP configuration, subtract one additional IP address per gateway as well.
35
+
To determine the available capacity of a subnet that has existing Application Gateways provisioned, take the size of the subnet and subtract the five reserved IP addresses of the subnet reserved by the platform. Next, take each gateway and subtract the max-instance count. For each gateway that has a private frontend IP configuration, subtract one additional IP address per gateway as well.
36
36
37
37
For example, here's how to calculate the available addressing for a subnet with three gateways of varying sizes:
38
38
- Gateway 1: Maximum of 10 instances; utilizes a private frontend IP configuration
@@ -46,7 +46,7 @@ Subnet Size /24 = 255 IP addresses - 5 reserved from the platform = 250 availabl
> Although a /24 subnet is not required per Application Gateway v2 SKU deployment, it is highly recommended. This is to ensure that Application Gateway v2 has sufficient space for autoscaling expansion and maintenance upgrades. You should ensure that the Application Gateway v2 subnet has sufficient address space to accommodate the number of instances required to serve your maximum expected traffic. If you specify the maximum instance count, then the subnet should have capacity for at least that many addresses. For capacity planning around instance count, see [instance count details](understanding-pricing.md#instance-count).
49
+
> Although a /24 subnet isn't required per Application Gateway v2 SKU deployment, it is highly recommended. This is to ensure that Application Gateway v2 has sufficient space for autoscaling expansion and maintenance upgrades. You should ensure that the Application Gateway v2 subnet has sufficient address space to accommodate the number of instances required to serve your maximum expected traffic. If you specify the maximum instance count, then the subnet should have capacity for at least that many addresses. For capacity planning around instance count, see [instance count details](understanding-pricing.md#instance-count).
50
50
51
51
> [!TIP]
52
52
> IP addresses are allocated from the beginning of the defined subnet space for gateway instances. As instances are created and removed due to creation of gateways or scaling events, it can become difficult to understand what the next available address is in the subnet. To be able to determine the next address to use for a future gateway and have a contiguous addressing theme for frontend IPs, consider assigning frontend IP addresses from the upper half of the defined subset space. For example, if my subnet address space is 10.5.5.0/24, consider setting the private frontend IP configuration of your gateways starting with 10.5.5.254 and then following with 10.5.5.253, 10.5.5.252, 10.5.5.251, and so forth for future gateways.
Copy file name to clipboardExpand all lines: articles/application-gateway/how-application-gateway-works.md
+8-7Lines changed: 8 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,13 +5,13 @@ services: application-gateway
5
5
author: greg-lindsay
6
6
ms.service: application-gateway
7
7
ms.topic: conceptual
8
-
ms.date: 11/16/2019
8
+
ms.date: 09/13/2022
9
9
ms.author: greglin
10
10
---
11
11
12
12
# How an application gateway works
13
13
14
-
This article explains how an application gateway accepts incoming requests and routes them to the backend.
14
+
This article explains how an [application gateway](overview.md) accepts incoming requests and routes them to the backend.
15
15
16
16

17
17
@@ -34,8 +34,8 @@ Internal application gateways use only private IP addresses. If you are using a
34
34
If a request is valid and not blocked by WAF, the application gateway evaluates the request routing rule that's associated with the listener. This action determines which backend pool to route the request to.
35
35
36
36
Based on the request routing rule, the application gateway determines whether to route all requests on the listener to a specific backend pool, route requests to different backend pools based on the URL path, or redirect requests to another port or external site.
37
-
>[!NOTE]
38
-
>Rules are processed in the order they're listed in the portal for v1 SKU.
37
+
>[!NOTE]
38
+
>Rules are processed in the order they're listed in the portal for v1 SKU.
39
39
40
40
When the application gateway selects the backend pool, it sends the request to one of the healthy backend servers in the pool (y.y.y.y). The health of the server is determined by a health probe. If the backend pool contains multiple servers, the application gateway uses a round-robin algorithm to route the requests between healthy servers. This load balances the requests on the servers.
41
41
@@ -45,8 +45,8 @@ The port and protocol used in HTTP settings determine whether the traffic betwee
45
45
46
46
When an application gateway sends the original request to the backend server, it honors any custom configuration made in the HTTP settings related to overriding the hostname, path, and protocol. This action maintains cookie-based session affinity, connection draining, host-name selection from the backend, and so on.
47
47
48
-
>[!NOTE]
49
-
>If the backend pool:
48
+
>[!NOTE]
49
+
>If the backend pool:
50
50
> -**Is a public endpoint**, the application gateway uses its frontend public IP to reach the server. If there isn't a frontend public IP address, one is assigned for the outbound external connectivity.
51
51
> -**Contains an internally resolvable FQDN or a private IP address**, the application gateway routes the request to the backend server by using its instance private IP addresses.
52
52
> -**Contains an external endpoint or an externally resolvable FQDN**, the application gateway routes the request to the backend server by using its frontend public IP address. The DNS resolution is based on a private DNS zone or custom DNS server, if configured, or it uses the default Azure-provided DNS. If there isn't a frontend public IP address, one is assigned for the outbound external connectivity.
@@ -63,4 +63,5 @@ You can configure application gateway to modify request and response headers and
63
63
64
64
## Next steps
65
65
66
-
[Learn about application gateway components](application-gateway-components.md)
66
+
-[Learn about application gateway components](application-gateway-components.md)
0 commit comments