Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Аналог директивы internal
- To: nginx-ru@xxxxxxxxx
- Subject: Аналог директивы internal
- From: "qaqas" <nginx-forum@xxxxxxxx>
- Date: Fri, 9 Mar 2012 14:50:15 -0500 (EST)
- Dkim-signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=tigger.jlkhosting.com; s=x; h=From:Message-ID:Content-Transfer-Encoding:Content-Type:Subject:To:Date; bh=o5/misjVfzGJnXzLE/tYD7mY4qfXE0P3nsWfj+O0lIY=; b=ia+KyUJNEv8AVi/KWIqbfvQ8ifzbw54xUhCf3obF1rt2MfuWYGFWl8T7TlV6rIBf2SncSadfzmcAVVhICmtZMcHO0Z3ITNIZwWClzfArt6QThM6gn7eMkV9p1S/pX2Py;
Есть ли возможность получить
функционал директивы internal не для
статики, а для произвольных запросов?
Поясню: пользователь логинится через
веб в самого себя же на линуксовой
тачке. Ну и соответственно в браузере
имеет интерфейс для выполнения
каких-то задач на сервере со своими
правами.
На стороне сервера все обслуживается
Nginx + flup + FastCGI. Есть процесс который
мапит веб-пользователя и
линукс-пользователя и передает все
обслуживание залогиненного юзера
соответствующему FastCGI процессу
запущенному от имени этого самого
пользователя.
Пример запуска:
sudo -u $user python /absolute/path/to/manage.py runfcgi host=127.0.0.1
port=$port
Ну и для Nginx:
location /user/$user {
internal;
fastcgi_pass 127.0.0.1:$port;
# additional FastCGI configuration...
}
В Django views.py:
@login_required
def central_dispatch_view ( request ):
response = HttpResponse()
response['X-Accel-Redirect'] = '/user/'+request.user.username
return response
Posted at Nginx Forum:
http://forum.nginx.org/read.php?21,223683,223683#msg-223683
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru
|