Choosing source-address for upstream connections
Ruslan Ermilov
ru at nginx.com
Fri May 17 13:17:20 UTC 2013
On Fri, May 17, 2013 at 02:57:00PM +0200, Bruno Prémont wrote:
> Is there a way to tell nginx to use a specific address when talking to
> an upstream?
>
> I would like to do something like:
>
> upstream bla {
> server [D0C::1234]:8080 src [D0C::beaf];
> server 1.2.3.4:8080 src 1.2.3.5;
> server upstream.example.tld src site.example.tld;
> }
>
>
> My system has multiple local addresses and just one of them should be
> used to contact the given upstream.
>
>
> If host-name is provided the source address should be chosen of the
> same address family as the upstream address (so it's not necessary to
> explicitly state IP addresses and duplicate server entries for IPv4
> and IPv6).
>
>
> It's possible to do it via "src" attribute of routes though it would be
> more clean to do it on the application side.
> e.g.
> ip route add D0C::1234/128 src D0C::beaf ethX
> ip route add 1.2.3.4/32 src 1.2.3.5
http://nginx.org/r/proxy_bind
This is the only option so far. Per-server per-upstream source address
selection isn't currently possible.
More information about the nginx
mailing list