proxy pass и указание номера порта

Kibets Alexander nginx-forum at nginx.us
Thu Jul 4 07:10:13 UTC 2013


Необходимо сделать проксирование WEB-Socket соединения
ВЕБ-часть открывает 2-ва WEB-Socket соединения на
http://mysite.com/ws_cmd
http://mysite.com/ws_data
по 80-му порту

Они должны пробрасоватся на http://mysite.com:8000

http
{
....

    server
    {
        listen ***.***.***.***:80;
        
       # Отдаем статику
       location ^~ /gmap2/
       {
           root /home/www/sites/nodejs/data/;
       }

       # WEB-Socket

       location /
       {
         # Извлекаем номер порта
         rewrite    ^/ws_cmd(/*/)    /ws_cmd    break;
         rewrite    ^/ws_data(/*/)   /ws_data   break;

         set  $port_num $1;
         # set   $port_num 8000; так тоже не работает
         # set   $port_num "8000"; так тоже не работает

так работает
proxy_pass http://mysite.com:8000;
а так !!! НЕ РАБОТАЕТ !!!
#proxy_pass http://mysite.com:$port_num;

         proxy_http_version 1.1;
         proxy_set_header Upgrade $http_upgrade;
         proxy_set_header Connection "upgrade";
         proxy_buffering             off;
       }

    }

}

Я хочу в URL-е указывать номер порта на который должен пробрасоватся запрос
(для распределения нагрузки).
Помогите пожалуйста!

Posted at Nginx Forum: http://forum.nginx.org/read.php?21,240570,240570#msg-240570



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