The Edge Services Gateway (ESG) can be thought of as a proxy for the incoming client traffic.
In proxy mode, the load balancer uses its own IP address as the source address to send requests to a back-end server. The back-end server views all traffic as being sent from the load balancer and responds to the load balancer directly. This mode is also called SNAT mode or non-transparent mode. For more information, refer to NSX Administration Guide.
A typical NSX one-armed load balancer is deployed on the same subnet with its back-end servers, apart from the logical router. The NSX load balancer virtual server listens on a virtual IP for incoming requests from client and dispatches the requests to back-end servers. For the return traffic, reverse NAT is required to change the source IP address from the back-end server to a virtual IP (VIP) address and then send the virtual IP address to the client. Without this operation, the connection to the client can break.
- Destination Network Address Translation (DNAT) to change the VIP address to the IP address of one of the load balanced machines.
- Source Network Address Translation (SNAT) to exchange the client IP address with the ESG IP address.
Then the ESG server sends the traffic to the load balanced server and the load balanced server sends the response back to the ESG, and then back to the client. This option is much easier to configure than the inline mode, but has two potentials caveats. The first is that this mode requires a dedicated ESG server, and the second is that the load balancer servers are not aware of the original client IP address. One workaround for HTTP or HTTPS applications is to enable the Insert X-Forwarded-For option in the HTTP application profile so that the client IP address is carried in the X-Forwarded-For HTTP header in the request that is sent to the back-end server.
If client IP address visibility is required on the back-end server for applications other than HTTP or HTTPS, you can configure the IP pool to be transparent. If clients are not on the same subnet as the back-end server, inline mode is recommended. Otherwise, you must use the load balancer IP address as the default gateway of the back-end server.
- Inline/transparent mode
- SNAT/proxy/non-transparent mode (discussed above)
- Direct server return (DSR) - Currently, this is unsupported
The following procedure explains the configuration of a one-armed load balancer with HTTPS offloading (SSL offloading) application profile type.