URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID8
Нить номер: 7662
[ Назад ]

Исходное сообщение
"frontend and 2 backends"

Отправлено tsolodov1 , 04-Янв-13 05:20 
Всем привет. Задача: есть https frontend apache/nginx, c авторизацией. 2 backend'a. Как проксировать запросы исходя из username? Вот что получилось сделать на nginx:


server {
    listen       8000 default_server;
        listen              443;
        server_name         yyy.xx.com;
        keepalive_timeout   70;
        ssl                 on;
        ssl_certificate     cert.pem;
        ssl_certificate_key key.pem;
        ssl_protocols       SSLv3 TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers         HIGH:!aNULL:!MD5;
    location / {
        auth_basic           "Restricted Files";
        auth_basic_user_file conf/htpasswd;
        set $url  'backend1.xx.com:8080';
        proxy_redirect     off;
        resolver 1.1.1.1;
        proxy_set_header   REMOTE_USER         $remote_user;
        proxy_set_header   Host             $host;
        proxy_set_header   X-Real-IP        $remote_addr;
        #proxy_set_header  X-Forwarded-For  $proxy_add_x_forwarded_for;
        if ($remote_user = 'tsolodov') { set $url 'ya.ru'; }
        if ($remote_user = 'tsolodov1') { set $url 'google.com'; }
}        
        proxy_pass         http://$url/generic;
    }
}


Но!! А если пользователей 100000, да и  куда проксировать юзера инфа не постоянная она есть  мускуле.

Написал CGI которая исходя из инфы в БД редиректит в нужный location, а он  в свою очередь проксирует на нужный backend. Хотелось бы чтобы все было прозрачно для юзера, не заметно, кто подскажет как извратиться еще? Спасибо заранее, посоны)

[сообщение отредактировано модератором]


Содержание

Сообщения в этом обсуждении
"frontend and 2 backends"
Отправлено tsolodov1 , 09-Янв-13 06:23 
Помог X-Accel-Redirect header в Nginx.