IPv6 & IPv4 backend with proxy_bind
Ruslan Ermilov
ru at nginx.com
Fri Nov 22 13:26:42 UTC 2013
On Tue, Nov 19, 2013 at 09:09:34PM +1030, SplitIce wrote:
> An IPv6 based fallback is not the only solution we want to support,
> ultimately we would like to be able to load-balance between them as well.
> An error_page based solution would not assist.
>
> I also get the feeling that such a hack would have large implications,
> while either an additional parameter or another directive would be a simple
> & clean solution to a real identified deficiency.
>
> This kind of request is only going to get more common with the growing
> adoption of IPv6.
You can make the currently selected peer address available as an nginx
variable, then use the "map" directive to compute the per-peer bind
address, like follows:
map $peer_addr $bind_addr {
192.168.1.100 192.168.1.1;
2001:0db8::100 2001:0db8::1;
...
}
or like this:
map $peer_addr $bind_addr {
~: 2001:0db8::1;
default 192.168.1.1;
}
Hint: the "proxy_bind" directive supports variables.
More information about the nginx-devel
mailing list