Всем привет. Задача: есть 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. Хотелось бы чтобы все было прозрачно для юзера, не заметно, кто подскажет как извратиться еще? Спасибо заранее, посоны)
[сообщение отредактировано модератором]