How to put a link-local IPv6 address in server of a backend

Well I was thinking about the normal use-case of a web server and haproxy load-balancing in front of it. In that case, you will always want a static setup, in IPv6 with ULA (or even global unicast), simply because you are setting it all up statically anyway.

Your use-case is exactly the opposite, so I can see how that makes sense for you.

I just checked both haproxy and nginx, they don’t support using link-local IPv6 addresses, because it requires additional magic around parsing the IPv6 address in the first place, finding the integer for this string ( if_nametoindex()) and finally setting the scope_id.

(more about link local socket impacts https://labs.ripe.net/Members/philip_homburg/whats-the-deal-with-ipv6-link-local-addresses )

Those are not bugs, those are simply additional features that are not implemented in most applications, because link-local addresses have a very limited use-case.