Я настроил Nginx внутри chroot jail в /srv/http
(Arch Linux). Я изменил его nginx.conf
так, чтобы он включал мои включенные серверы:
include /etc/nginx/servers-enabled/*;
И я сделал символическую ссылку на файлы в servers-enabled
. servers-available
Хотя disable_symlinks
по умолчанию отключено, я убедился, что оно действительно отключено, добавив disable_symlinks off;
в nginx.conf
. Однако после перезагрузки nginx я не могу зайти на сайт.
Я посмотрел наэтот вопроси убедился, что использовал абсолютные пути. Однако я не уверен, может ли nginx получить доступ к пути, поскольку он (частично) находится за пределами chroot-окружения.
Поэтому я попробовал следующее:
cd /srv/http
ln -s etc/nginx/servers-available/example etc/nginx/servers-enabled/example
Так что теперь я использую относительные пути, но по крайней мере внутри chroot jail. К сожалению, и с этой настройкой я не могу добраться до веб-сайта.
Какие-либо предложения?
решение1
Итак, относительные пути, похоже, работают с символическими ссылками внутри chroot.
Вот код, который я использовал
cd /srv/http/etc/nginx/servers-enabled
ln -s ../servers-available/example example