ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

мультипользовательские процессы http сервера


  • To: nginx-ru@xxxxxxxxx
  • Subject: мультипользовательские процессы http сервера
  • From: Холстинников Григорий <scarych@xxxxxxxxx>
  • Date: Thu, 18 Dec 2008 17:49:33 +0300

Доброго времени суток всем.
Прошу помощи и совета в реализации следующей задачи  ( гуглинг пока-что ничего 
не дал :( )
Итак, требуется реализовать следующее взаимодействие серверных компонент.

У нас есть пользователи, прописанные на сервере системно, т.е. запись для 
каждого из них есть в /etc/shadow, /etc/groups , /etc/passwd, etc.
Эти пользователи авторизуются в www-клиенте (браузере), используя свои 
системные логин и пароль.
После авторизации нужно по логину пользователя или по логин+ip направить 
пользователя в назначенный ему Document_root. Описание связок "login, ip, 
document_root" хранится отдельным конфигурационным файлом.
И далее, выполнение всех http-запросов в пределах текущей сессии пользователя 
должно выполняться от имени этого пользователя.

В распоряжении есть nginx и apache 2.2.
Выполняться будут perl, php и, наверняка, с++-cgi скрипты.
Нагрузка ~1.5-2K пользователей одновременно. 
Частота запросов: частая.
Мощность серверов: высокая.

Какие есть возможности реализации такого решения стандартными средствами?

В моем понимании это можно было бы построить следующим образом:
nginx запускается под рутом, читает /etc/shadow для авторизации.
далее, в директиве server { ... } выполняется некий pl скрипт, в который 
передаются текущий remote_user и remote_addr, а он возвращается document_root и 
вызывает запуск fastCGI процесса для обработки .pl и .php под текущим 
пользователем.
Либо каким-то образом порождает форк Апача с текущим пользователем и все 
запросы проксирует на него.
Вопрос состоит в том, возможна ли такое разруливание и как? Моих знаний данных 
технологий пока не хватает :(

Заранее спасибо за участие :)



 




Copyright © Lexa Software, 1996-2009.