Модуль stream и использование map

Alex Domoradov alex.hha на gmail.com
Вт Мар 15 15:22:52 UTC 2016


Привет,

правильно ли я понимаю, что в модуле 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 получить
поведение, аналогичное первому варианту?
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mailman.nginx.org/pipermail/nginx-ru/attachments/20160315/6937abb5/attachment.html>


Подробная информация о списке рассылки nginx-ru