Azure Application Gateway | moving from HAproxy settings

Sayan Ghosh 316 Reputation points Microsoft Employee
2020-07-10T04:44:07.703+00:00

We are working with a customer to move their apps over to Azure, and one of the threads involves moving from HAproxy servers to App Gateway. As part of this the customer has outlined a number of technical requirements that are possible with HAproxy, and we are trying to map that back to AppGateway capabilities. I have outlined the specifics below with links and excerpts from HAproxy documentation. If anyone else has tried to do this in the past and have had success, would be great if you could please share.

Option redispatch
In HTTP mode, if a server designated by a cookie is down, clients may definitely stick to it because they cannot flush the cookie, so they will not be able to access the service anymore.
Specifying "option redispatch" will allow the proxy to break their persistence and redistribute them to a working server.
It also allows to retry last connection to another server in case of multiple connection failures. Of course, it requires having "retries" set to a nonzero value.

Option http-server-close
the server-facing connection is closed once the end of the response has been received, but the client-facing connection remains open.

Option abortonclose
By default (without the option) the behaviour is HTTP
compliant and aborted requests will be served. But when the option is
specified, a session with an incoming channel closed will be aborted while
it is still possible, either pending in the queue for a connection slot, or
during the connection establishment if the server has not yet acknowledged
the connection request. This considerably reduces the queue size and the load
on saturated servers when users are tempted to click on STOP, which in turn
reduces the response time for other users.

Option splice-auto
When this option is enabled either on a frontend or on a backend, haproxy
will automatically evaluate the opportunity to use kernel tcp splicing to
forward data between the client and the server, in either direction.
Equivalent app gateway commands to set timeout values:
timeout connect 10s
timeout client 10m
timeout server 10m
timeout queue 10s
timeout http-keep-alive 3s

Azure Application Gateway
Azure Application Gateway
An Azure service that provides a platform-managed, scalable, and highly available application delivery controller as a service.
1,130 questions
0 comments No comments
{count} votes

2 answers

Sort by: Most helpful
  1. Sumarigo-MSFT 47,496 Reputation points Microsoft Employee
    2020-07-21T11:52:27.8+00:00

    @Sayan Ghosh Firstly, apologies for the delay in responding here and any inconvenience this issue may have caused.

    If you are still facing any issue, I would like work closer on this issue, Could you please reach to me via AZCommunity[AT]microsoft.com with a link to this Issue as well as your subscription ID and we can help get a support ticket opened for this issue. Please mention "ATTN subm" in the subject field. We would like to work closer with you on this matter.

    If the issue has been resolved. please share the troubleshooting steps, which can beneficial other community member who is reading this thread.

    --please don't forget to Accept as answer if the reply is helpful--

    0 comments No comments

  2. Art Cancro 0 Reputation points
    2023-01-25T20:54:30.01+00:00

    I have a sneaking suspicion that Azure Application Gateway is HAproxy.

    0 comments No comments

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.