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

2015-08-26 Пенетрантность paperroot
Konstantin Tokarev Wrote:
---
 25.08.2015, 17:37, paperroot nginx-fo...@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@nginx.org
  http://mailman.nginx.org/mailman/listinfo/nginx-ru
 
 -- 
 Regards,
 Konstantin
 
 ___
 nginx-ru mailing list
 nginx-ru@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 mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

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

2015-08-25 Пенетрантность paperroot
Здравствуйте.

Хочу написать патч, который будет отдавать контент предварительно
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. 

Спасибо.

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

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru