Re: Хочу написать патч

paperroot nginx-forum на nginx.us
Ср Авг 26 09:00:40 UTC 2015


Konstantin Tokarev Wrote:
-------------------------------------------------------
> 25.08.2015, 17:37, "paperroot" <nginx-forum at nginx.us>:
> > Здравствуйте.
> >
> > Хочу написать патч, который будет отдавать контент предварительно
> > setuid'ившись в системного пользователя указанного в конфиге
> virtual_host'a,
> > для того чтобы обезопасить большое кол-во независимых проектов от
> разных
> > пользователей, работающих на одном мощном сервере.
> >
> > Сделал правку в файле src/http/modules/ngx_http_static_module.c в
> функции
> > ngx_http_static_handler.
> > Суть правки: делается clone на участок кода:
> >
> > setgit(vh_gid);
> > setuid(vh_uid);
> > ngx_open_cached_file(clcf->open_file_cache, &path, &of, r->pool);
> >
> > данная правка работает, но имеются проблемы со сторонними модулями,
> например
> > pagespeed.
> >
> > Подскажите пожалуйста, где идеалогически правильнее делать такую
> правку,
> > чтобы она дружила с другими модулями, или хотябы с модулем
> pagespeed.
> 
> Мне кажется, что единственный идеологически верный путь - запускать по
> отдельной
> копии nginx для каждого виртуального хоста под соответствующим
> пользователем, и
> проксировать на них запросы с главного Nginx
> 
> >
> > Спасибо.
> >
> > Posted at Nginx Forum:
> http://forum.nginx.org/read.php?21,261237,261237#msg-261237
> >
> > _______________________________________________
> > nginx-ru mailing list
> > nginx-ru at nginx.org
> > http://mailman.nginx.org/mailman/listinfo/nginx-ru
> 
> -- 
> Regards,
> Konstantin
> 
> _______________________________________________
> nginx-ru mailing list
> nginx-ru at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru

Да такой вариант тоже рассматривался, но он к сожалению довольно затратен по
вычислительным ресурсам и слишком сложный для управления и сопровождения.

Я лишь прошу подсказать "точку входа" для правки, т.к. чтение кода nginx и
дебагинг с gdb не дали мне ответа на этот вопрос. Гугление тоже ничего не
дало, нету описания архитектуры или схемы обработки сетевого подключения. 

Поэтому и решил задать вопрос здесь.

Posted at Nginx Forum: http://forum.nginx.org/read.php?21,261237,261255#msg-261255



Подробная информация о списке рассылки nginx-ru