Dynamic upstream proxy_pass

Makailol Charls makailol7 at gmail.com
Wed Apr 9 08:29:35 UTC 2014


Hello!

You need to use resolver directive in Nginx.
Also you need to set DNS entries for your backend hostname.

Best regards,
Makailol


On Wed, Apr 9, 2014 at 1:49 PM, kay <nginx-forum at nginx.us> wrote:

> I'm trying to set upstream names by variables, but nginx recognizes
> variables as hostnames, not upstream names.
>
> For example:
> map $cookie_backend $proxy_host {
>     default     'backend1';
>     '1'             'backend2';
> }
> ... ... ...
> upstream backend1 {
>     server backend123:8080;
>     server backend124:8080;
> }
> ... ... ...
> upstream backend2 {
>     server backend223:8080;
>     server backend224:8080;
> }
> ... ... ...
> location / {
>     proxy_pass      http://$proxy_host;
> }
>
> nginx returns error message:
> 2014/04/09 14:19:51 [error] 1085#0: *1128620 backend1 could not be resolved
> (3: Host not found) while sending to client, client: 192.168.1.145, server:
> localhost, request: "GET / HTTP/1.1", host: "localhost"
>
> Posted at Nginx Forum:
> http://forum.nginx.org/read.php?2,249142,249142#msg-249142
>
> _______________________________________________
> nginx mailing list
> nginx at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx/attachments/20140409/f3654fa1/attachment.html>


More information about the nginx mailing list