Modifying rdp-cookie OR persistent stick-tables?

Our solution in the end was to set up our pool such that every node is
both an haproxy node and an rdp server, with a single dns A name
pointing to a single ip address.

In normal operation, connections are load balanced and the stick table
synced between nodes.

If all the nodes are down, then there are no rdp sessions active, so the
loss of the stick tables doesn’t matter.

This is obviously a relatively specific solution, but hopefully it’s of
help to you. If not, then the suggested socat example would probably be
the best option.