связаны unix-сокетом, но это неважно. Для того, чтобы сказать php-fpm какой скрипт выполнить, в nginx есть такая строка:
fastcgi_param SCRIPT_FILENAME /var/www/$fastcgi_script_name;
Т.е, если кто-то имеет доступ к сокету или порту пхп, то может выполнить любой произвольный скрипт и лазить по системе под правами php-fpm. Мне хочется сделать так, чтобы запросы, которые приходят в php-fpm, могли обращаться только к файлам из определенной директории, например /app. Т.е. сделать /app или /app/public_html корнем, но без chroot. Он сдесь не подходит, т.к. скрипты в своей работе используют файлы на уровень выше /app и запереть их там не получится.
"chdir" тоже не помогает, и легко обходится при указании пути в абсолютном виде
Какие могут быть варианты?
Можно узнать, нафиг это может быть нужно?
я хочу вынести указание полного пути до скриптов из конфига nginx только в конфиг php-fpm
т.е. я не хочу указывать: fastcgi_param SCRIPT_FILENAME /var/www/$fastcgi_script_name; я хочу указывать так: fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;
чтобы настройки одного компонента не хранились в настройках другого. в духе: есть сокет - ты туда шли, а дальше мы сами
Я все еще не могу понять, зачем это
Prefix попробуй указать, может это оно
не, тоже не помогло. обходится указанием абсолютного пути
На уровне nginx не давай указывать абсолютный путь
я хочу чтобы путь до сокета или ip:port были единственными параметрами которые нужно указать. поэтому от подобных манипуляций и хочу избавиться
Ты хочешь странного. Связка nginx + php-fpm не вчера появилась, не надо свои костыли придумывать
Не выставляй php наружу. В чем проблема? Соедини их в общий докер нетворк с nginx и ходи по порту. Сокет там вообще не нужен
странно это давать такие ответы
Я не могу тебе дать другой ответ потому что не очень понимаю конечно цель
Обсуждают сегодня