<div><div dir="auto">Nice, hadn’t noticed the port range capability.</div></div><div dir="auto"><br></div><div dir="auto">The proxy_pass and just directly referencing the ip would make it nice and concise. Unfortunately I am wanting to balance across multiple backends, but this is all good to know come different requirements.</div><div dir="auto"><br></div><div dir="auto">Cheers</div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Mar 2, 2020 at 2:02 PM Reinis Rozitis <<a href="mailto:r@roze.lv">r@roze.lv</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">> I get that the NGINX listen statement works on an individual port basis, so the equivalent of what's below in NGINX would at the very least require 300 listen statements.<br>
<br>
You can listen on a port range (see below).<br>
<br>
<br>
<br>
> FYI I've tried referencing my own declared variables from within the upstream as well as referencing $server_port but of course these don't appear to be in scope.<br>
<br>
Depends if you want nginx to perform any active healthchecks and what kind of backends those are.<br>
<br>
If it is http and you just need to redirect traffic instead of defining upstreams a configuration with (way) less lines could be:<br>
<br>
    server {<br>
        listen 10.1.0.1:2000-2299;<br>
        location / { proxy_pass http://127.0.0.1:$server_port; }<br>
    }<br>
<br>
<br>
A fallback to another proxy could be configured via error_page (502). <br>
Something like:<br>
<br>
error_page 502 @fallback;<br>
location @fallback { proxy_pass http://10.1.0.2:$server_port; }<br>
<br>
But I don't think there is a way (at least in the base vanilla) nginx to configure upstreams in a dynamic way with port ranges as in upstream {} doesn't support variables for the server definitions.<br>
<br>
rr<br>
<br>
<br>
<br>
_______________________________________________<br>
nginx mailing list<br>
<a href="mailto:nginx@nginx.org" target="_blank">nginx@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx" rel="noreferrer" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx</a><br>
</blockquote></div></div>