<div dir="ltr">Hey Roman,<div><br></div><div>I do not actually get the idea how to use map in below scenario.</div><div><br></div><div>Suppose i have two form of uri as mentioned below:-</div><div><br></div><div>URI 1 : http://<span style="background-color:rgb(255,255,0)">abc</span>.<a href="http://10.23.32.22:2000/testFile">10.23.32.22:2000/testFile</a></div>
<div><br></div><div>URI 2 : <a href="http://10.20.32.23:2000/">http://10.20.32.23:2000/</a><span style="background-color:rgb(255,255,0)">def</span>/testFile</div><div><br></div><div>So i want to fetch out following substring from above mentioned URI's as a key :-</div>
<div><br></div><div>Key 1 : abc</div><div><br></div><div>Key 2 : def</div><div><br></div><div>Now i want to use them in upstream configuration as :-</div><div><br></div><div><pre style="padding:0px;margin-top:0px;margin-bottom:0px;color:rgb(0,0,0)">
http {
    upstream myapp1 {
      </pre><pre style="padding:0px;margin-top:0px;margin-bottom:0px;color:rgb(0,0,0)">         hash Key1 consistent;</pre><pre style="padding:0px;margin-top:0px;margin-bottom:0px;color:rgb(0,0,0)"><br></pre><pre style="padding:0px;margin-top:0px;margin-bottom:0px;color:rgb(0,0,0)">
   server <a href="http://10.23.22.34:8080">10.23.22.34:8080</a>;
        
    }

    server {
        listen 80;

        location / {
            proxy_pass <a href="http://myapp1">http://myapp1</a>;
        }
    }
}</pre><pre style="padding:0px;margin-top:0px;margin-bottom:0px;color:rgb(0,0,0)"><br></pre><pre style="padding:0px;margin-top:0px;margin-bottom:0px;color:rgb(0,0,0)"><br></pre><pre style="padding:0px;margin-top:0px;margin-bottom:0px;color:rgb(0,0,0)">
How can i do this ?</pre><pre style="padding:0px;margin-top:0px;margin-bottom:0px;color:rgb(0,0,0)"><br></pre><pre style="padding:0px;margin-top:0px;margin-bottom:0px;color:rgb(0,0,0)">Thanks,</pre><pre style="padding:0px;margin-top:0px;margin-bottom:0px;color:rgb(0,0,0)">
Panky</pre></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Aug 5, 2014 at 3:07 PM, Roman Arutyunyan <span dir="ltr"><<a href="mailto:arut@nginx.com" target="_blank">arut@nginx.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5"><br>
On 05 Aug 2014, at 12:58, Pankaj Kaushik <<a href="mailto:dev.panky2014@gmail.com">dev.panky2014@gmail.com</a>> wrote:<br>
<br>
> Hey Piotr,<br>
><br>
><br>
><br>
> On Tue, Aug 5, 2014 at 2:21 PM, Piotr Sikora <<a href="mailto:piotr@cloudflare.com">piotr@cloudflare.com</a>> wrote:<br>
><br>
> What's wrong with "hash" [1]?<br>
><br>
> [1] <a href="http://nginx.org/en/docs/http/ngx_http_upstream_module.html#hash" target="_blank">http://nginx.org/en/docs/http/ngx_http_upstream_module.html#hash</a><br>
><br>
><br>
><br>
> As mentioned in the syntax at above link:-<br>
><br>
> Syntax:       hash key [consistent];<br>
> Default:      —<br>
> Context:      upstream<br>
><br>
><br>
> In my scenario i have to fetch key out of uri and then need to hash that to identify the backend server.<br>
><br>
> Basically i need to fetch the key out of uri during run time.<br>
><br>
> Can you please help in knowing how can i do that?<br>
><br>
<br>
</div></div>You can use $arg_XXX variables to access arguments passed in uri.<br>
Or you can use “map" directive to fetch any part of $uri directly<br>
<br>
<a href="http://nginx.org/ru/docs/http/ngx_http_map_module.html" target="_blank">http://nginx.org/ru/docs/http/ngx_http_map_module.html</a><br>
<br>
> Thanks,<br>
> Panky<br>
<div class="HOEnZb"><div class="h5">><br>
> _______________________________________________<br>
> nginx-devel mailing list<br>
> <a href="mailto:nginx-devel@nginx.org">nginx-devel@nginx.org</a><br>
> <a href="http://mailman.nginx.org/mailman/listinfo/nginx-devel" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx-devel</a><br>
<br>
_______________________________________________<br>
nginx-devel mailing list<br>
<a href="mailto:nginx-devel@nginx.org">nginx-devel@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx-devel" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx-devel</a><br>
</div></div></blockquote></div><br></div>