<div dir="ltr">Hey Francis,<div><br></div><div class="gmail_extra"><br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<br>
Your request is for "/". The only location block you have is a prefix<br>
match for the four-character string "$uri", which does not match<br>
your request, so the request is processed by the default server-level<br>
configuration.<br>
<span class=""><font color="#888888"><br></font></span></blockquote><div><br></div><div>I have understanding that $uri will be changed to actual uri when location block will be parsed.</div><div><br></div><div>why is it not happening?</div>
<div><br></div><div>There are two scenario in my case.</div><div><br></div><div>My uri can contain two values one is "/" and other is let say "/abc/def" (this value is dynamic and can change according to the client request).</div>
<div><br></div><div>So i want to redirect above uri values to different upstream server.</div><div><br></div><div>How can i do this?</div><div><br></div><div>I tried below configuration but it did not worked for uri location block.</div>
<div><br></div><div><div>upstream backend {</div><div>                hash $key2 consistent;<span class="" style="white-space:pre">                 </span>// this will be used for given bucket name based on consistent hash policy</div>
<div>                server <a href="http://10.0.0.22:8080">10.0.0.22:8080</a>;</div><div>                server <a href="http://10.0.0.23:8080">10.0.0.23:8080</a>;</div><div>                server <a href="http://10.0.0.24:8080">10.0.0.24:8080</a>;</div>
<div>                server <a href="http://10.0.0.25:8080">10.0.0.25:8080</a>;</div><div>                server <a href="http://10.0.0.26:8080">10.0.0.26:8080</a>;</div><div>        }</div><div>        upstream backend_2 {<span class="" style="white-space:pre">                          </span></div>
<div>                server <a href="http://10.0.0.22:8080">10.0.0.22:8080</a>;</div><div>                server <a href="http://10.0.0.23:8080">10.0.0.23:8080</a>;</div><div>                server <a href="http://10.0.0.24:8080">10.0.0.24:8080</a>;</div>
<div>                server <a href="http://10.0.0.25:8080">10.0.0.25:8080</a>;</div><div>                server <a href="http://10.0.0.26:8080">10.0.0.26:8080</a>;</div><div>        }</div><div><br></div><div>            server {</div>
<div>                listen 90 default_server;</div><div><br></div><div>                location $uri {<span class="" style="white-space:pre">                            </span></div><div>                    proxy_pass <a href="http://backend">http://backend</a>;</div>
<div>                }</div><div>                location / {<span class="" style="white-space:pre">                                </span></div><div>                    proxy_pass <a href="http://backend_2">http://backend_2</a>;</div><div>                }</div>
<div>        }</div></div><div><br></div><div>Can you please suggest me right step on this?</div><div><br></div><div>Thanks,</div><div>Panky</div></div></div></div>