<div dir="ltr">В вашем случае будет несколько процессов nginx под разными пользователями, но как.. как вы будете коннекту приказывать подключиться к тому или иному процессу, если на этапе коннекта вы не знаете к какому сайту будет запрос?</div><div class="gmail_extra"><br><div class="gmail_quote">26 августа 2015 г., 12:00 пользователь paperroot <span dir="ltr"><<a href="mailto:nginx-forum@nginx.us" target="_blank">nginx-forum@nginx.us</a>></span> написал:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Konstantin Tokarev Wrote:<br>
-------------------------------------------------------<br>
> 25.08.2015, 17:37, "paperroot" <<a href="mailto:nginx-forum@nginx.us">nginx-forum@nginx.us</a>>:<br>
> > Здравствуйте.<br>
> ><br>
> > Хочу написать патч, который будет отдавать контент предварительно<br>
> > setuid'ившись в системного пользователя указанного в конфиге<br>
> virtual_host'a,<br>
> > для того чтобы обезопасить большое кол-во независимых проектов от<br>
> разных<br>
> > пользователей, работающих на одном мощном сервере.<br>
> ><br>
> > Сделал правку в файле src/http/modules/ngx_http_static_module.c в<br>
> функции<br>
> > ngx_http_static_handler.<br>
> > Суть правки: делается clone на участок кода:<br>
> ><br>
> > setgit(vh_gid);<br>
> > setuid(vh_uid);<br>
> > ngx_open_cached_file(clcf->open_file_cache, &path, &of, r->pool);<br>
> ><br>
> > данная правка работает, но имеются проблемы со сторонними модулями,<br>
> например<br>
> > pagespeed.<br>
> ><br>
> > Подскажите пожалуйста, где идеалогически правильнее делать такую<br>
> правку,<br>
> > чтобы она дружила с другими модулями, или хотябы с модулем<br>
> pagespeed.<br>
><br>
> Мне кажется, что единственный идеологически верный путь - запускать по<br>
> отдельной<br>
> копии nginx для каждого виртуального хоста под соответствующим<br>
> пользователем, и<br>
> проксировать на них запросы с главного Nginx<br>
><br>
> ><br>
> > Спасибо.<br>
> ><br>
> > Posted at Nginx Forum:<br>
> <a href="http://forum.nginx.org/read.php?21,261237,261237#msg-261237" rel="noreferrer" target="_blank">http://forum.nginx.org/read.php?21,261237,261237#msg-261237</a><br>
> ><br>
> > _______________________________________________<br>
> > nginx-ru mailing list<br>
> > <a href="mailto:nginx-ru@nginx.org">nginx-ru@nginx.org</a><br>
> > <a href="http://mailman.nginx.org/mailman/listinfo/nginx-ru" rel="noreferrer" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx-ru</a><br>
><br>
> --<br>
> Regards,<br>
> Konstantin<br>
><br>
> _______________________________________________<br>
> nginx-ru mailing list<br>
> <a href="mailto:nginx-ru@nginx.org">nginx-ru@nginx.org</a><br>
> <a href="http://mailman.nginx.org/mailman/listinfo/nginx-ru" rel="noreferrer" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx-ru</a><br>
<br>
Да такой вариант тоже рассматривался, но он к сожалению довольно затратен по<br>
вычислительным ресурсам и слишком сложный для управления и сопровождения.<br>
<br>
Я лишь прошу подсказать "точку входа" для правки, т.к. чтение кода nginx и<br>
дебагинг с gdb не дали мне ответа на этот вопрос. Гугление тоже ничего не<br>
дало, нету описания архитектуры или схемы обработки сетевого подключения.<br>
<br>
Поэтому и решил задать вопрос здесь.<br>
<br>
Posted at Nginx Forum: <a href="http://forum.nginx.org/read.php?21,261237,261255#msg-261255" rel="noreferrer" target="_blank">http://forum.nginx.org/read.php?21,261237,261255#msg-261255</a><br>
<br>
_______________________________________________<br>
nginx-ru mailing list<br>
<a href="mailto:nginx-ru@nginx.org">nginx-ru@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx-ru" rel="noreferrer" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx-ru</a></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature">Kpoxa</div>
</div>