<div dir="ltr">I'm trying to reduce the number of location blocks I need for an application by trying to route using a query parameter.<div><br></div><div>My URL looks like this: <a href="https://www.example.com/api/v1/proxy/?tid=9999">https://www.example.com/api/v1/proxy/?tid=9999</a></div><div><br></div><div>If I do this in my location block:</div><div>location ~* /api/v1/proxy {</div><div>                 proxy_pass <a href="http://origin.">http://origin.</a>$arg_tid:10001;</div><div>}</div><div><br></div><div>and have an upstream of:</div><div><br></div><div>upstream origin.9999 {</div><div>                 server 1.2.3.4;</div><div>}</div><div><br></div><div>I see an error of:</div><div><br></div><div>*51 no resolver defined to resolve origin.9999, client: 5.6.7.8, server: <a href="http://www.example.com">www.example.com</a>, request: "GET /api/v1/proxy/?tid=9999 HTTP/1.1", host: "<a href="http://www.example.com">www.example.com</a>" - as if it only considers a DNS lookup, even though there is an upstream server block configured.<br></div><div><br></div><div><div>However, if I change my location block (removing the port):</div><div>location ~* /api/v1/proxy {</div><div>                 proxy_pass <a href="http://origin.">http://origin.</a>$arg_tid;</div><div>}</div><div><br></div><div>and have an upstream of:</div><div><br></div><div>upstream origin.9999 {</div><div>                 server <a href="http://1.2.3.4:10001">1.2.3.4:10001</a>;</div><div>}</div></div><div><br></div><div>It works perfectly.</div><div><br></div><div><br></div><div>Is there a reason the first example isn't working?  </div><div><br></div><div>It's very valuable to me to be able to pass the port to the upstream server as shown in the second example as it reduces the number of upstream blocks I need by a factor of 10 or more.</div><div><br></div><div>Thanks in advance for any help.</div></div>