Привет,

правильно ли я понимаю, что в модуле stream я не могу использовать
переменную, которую я объявил через map в http секции?

Суть вопроса. данный конфиг нормально работает с http/server

http {
   map $remote_addr $backend {
      default staging1;
      192.168.1.127 staging2;
   }
}

upstream staging1 {
    server 127.0.0.1:8001;
}

upstream staging2 {
    server 127.0.0.1:8002;
}

server {
    listen 8000;

    location / {
        proxy_pass http://$backend;
    }
}

но не работает со stream

stream {

    upstream staging1 {
        server 127.0.0.1:8001;
    }

    upstream staging2 {
        server 127.0.0.1:8002;
    }

    server {
        listen 8003;
        proxy_pass http://$backend;
    }
}

при проверке получаю

# nginx -t
nginx: [emerg] invalid host in upstream "http://$backend"; in
/etc/nginx/nginx.conf:24
nginx: configuration file /etc/nginx/nginx.conf test failed

24 строка это директива proxy_pass. Можно ли как то в stream получить
поведение, аналогичное первому варианту?
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Ответить