Когда я использую nginx вместе с php-fpm и пытаюсь получить доступ к файлу, который не находится в том же подтоме / наборе данных, что и /
тогда это приведет к:
[error] 27411#27411: *1 FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream
Впервые я заметил это с Btrfs, но теперь, когда я начал использовать ZFS, возникла та же проблема. Например, скажем, что /home/user
находится в отдельном наборе данных, и я настроил nginx с root /home/user/domains/example.com;
затем пытаясь получить доступ, скажем example.com/test.php
приведет к Primary script unknown
, даже если /home/user/domains/example.com/test.php
существуют.
Я знаю, что это связано с доступом к файлу через наборы данных или что-то близкое к нему, потому что, если вместо этого я запустил mount --bind /home/user /fix
и измените конфигурацию nginx на root /fix/domains/example.com;
, все работает (ошибка исчезла, и PHP запускается).
Я пытался решить эту проблему в прошлом, но пока не смог, только это mount --bind
обходной путь до сих пор работал. Кто-нибудь знает, что может быть причиной этого и как я могу решить эту проблему без обходного пути? Я предполагаю, что это вызвано какой-то мерой безопасности, которая предотвращает доступ к другим разделам, но мне неизвестны какие-либо настройки FastCGI или php-fpm, которые позволяют мне изменять эту политику.