| What open-source NGINX lacks that open-source HAProxy has: * ACL rules with full support for logical if statements [1] * active health checks * end-to-end HTTP/2 [2] * Robust logging or a dashboard with metrics * The ability to read env variables * session stickiness * DNS service discovery [3] These are just things I'm aware of, there could be a lot more. HAProxy has shown itself to perform better for certain users such as Booking.com [4] [1] https://www.nginx.com/resources/wiki/start/topics/depth/ifis...
[2] https://trac.nginx.org/nginx/ticket/923
[3] https://danielparker.me/haproxy/nginx/comparison/nginx-vs-ha...
[4] https://events.static.linuxfound.org/sites/events/files/slid... |
I think this is supported.
We are using NGINX with its core Stream module to receive HTTP/2 encrypted traffic, and loadbalance it (with random or least_conn) algorithms -- to each of our backends.
Traffic stays encrypted end-to-end, and it remains HTTP/2 (because the Stream module works at TCP level, not http so it does not care http/2 or http/1 is used).
It seems that in the ticket [2] that you mentioned, the commenter at the end is asking exactly for this. And that works well.
It is called often 'pass-through proxy'. The article here explains how to set it up
https://serversforhackers.com/c/tcp-load-balancing-with-ngin...
We loose information about the Web-browser's IP address at our backend. For for privacy-enforcement reasons, we actually do not want to have it at our terminating points (our backend apis). And also, if we ever need it -- I thin this can be enabled with the proxy protocol.