Apache PHP -fpm ch root передача неправильного документа Root в php - PullRequest
0 голосов
/ 28 января 2020

У меня есть следующая проблема, что Apache передает неправильный Документ Root моему экземпляру PHP -pm, если это ch root 'ed

Мое текущее решение должно было использовать
ProxyPassMatch "^/(.*\.php)$" "unix:/var/run/php/php7.2-fpm.sock|fcgi://localhost/htdocs"
Но согласно Apache ProxyPassMatch выполняется перед любым другим оператором, что делает мою попытку реализовать Kerberos невозможной, как простую директиву <File> для kerberos authenti c *.php файл будет игнорироваться.

Итак, я начал поиск правильного решения (потому что директива ProxyPassMatch была обходным путем около полугода go.

Мое текущее "решение" это добавить символическую ссылку в ch root, которая имитирует исходный путь к файлу, чтобы заставить php работать снова.

ApacheConfig:

DocumentRoot /var/www/storage/site/htdocs/
<FilesMatch \.php$>
   SetHandler "proxy:unix:/run/php/php7.2-dev-fpm.sock|fcgi://localhost/"
</FilesMatch>

В файловой системе

/var/www/storage/site/var/www/storage/site $ ls -al htdocs
lrwxrwxrwx 1 root root 19 Jan 28 14:24 htdocs -> ../../../../htdocs/

Это выглядит некрасиво, и я должен признать, я не уверен, подразумевает ли это какие-либо риски безопасности? (Материал обхода пути ???)
Но по крайней мере это работает!

Так как правильно сказать Apache об изменении пути, который он передает php -Fpm?

Эта ссылка не предоставила подходящей помощи

...