ОБНОВЛЕНО nginx.conf ФАЙЛ И ЧТО ДРУГОЕ В ПОСЛЕДНЕМ СОСТОЯНИИ
НО ЕЩЕ ПОЛУЧАЕТСЯ 404 ОШИБКИ :-(
Итак, я пытался настроить список каталогов на моем сервере с помощью nginx, я следовал пошаговым инструкциям, но ничего не вышло - всегда выскакивали ошибки 403 или 404, в то время как все разрешения установлены на 755 ...
Когда я включаю автоиндекс в корневом местоположении, он работает нормально, но когда я помещаю его в местоположение "dl /", он показывает либо 404 при запросе / dl, либо 403 при запросе / dl /
После того, как я последовал за @Bryce Larson ... 403 исчез, теперь только 404 ... что все еще не в порядке ...
# pwd
/root/Downloads/dl
# ls -lha
total 12K
drwxr-xr-x 2 nginx root 4.0K Nov 25 20:01 .
drwxr-xr-x 4 root root 4.0K Nov 26 09:11 ..
-rwxr-xr-x 1 nginx root 26 Nov 25 20:01 blah.txt
Вот nginx.conf
:
https://0bin.net/paste/he2oIb2OFou4G9Fd#v5qt5M7scM8jlSRkl9B+GepP+PoInAHrfZrJNJ7Ch9U Я собираюсь использовать 0bin для длинного кода / конфигурации и т. Д., Чтобы сэкономить время и усилия, плюс у него есть синтаксическая окраска ;-)
И да, я перезапускал nginx сто раз, чтобы убедиться, что он принимает новую конфигурацию ... так что теперь не так?
В противном случае, как бы вы настроили для этого сервер nginx? - приветствуются ваши собственные файлы nginx.conf, пожалуйста, вставьте их сюда: https://0bin.net
В конце концов я сам нашел решение X- (
Итак, чтобы указать location
с корнем, вам нужно будет указать родительский каталог вместо каталога, который вы планируете обслуживать (что теперь довольно очевидно, если подумать - это чертов корень!).
Как и в моем примере, я должен указать /root/Downloads
с корневым параметром, тогда сервер попытается найти каталог с именем dl
внутри.
Я помню, как пытался таким способом, но проблемы с разрешением, упомянутые @Bryce Larson, могли быть причиной того, что это не удалось.
Вотэто последний nginx.conf
в случае, если люди заинтересованы.
Вывод:
Правильный способ настройки списка каталогов в nginx - это
A. укажите родительский каталог каталога, который ur пытается обслуживать.
Б. убедитесь, что разрешения от /
на всем пути к каталогу, который ur пытается обслуживать, установлен исполняемый файл, т.е. chmod +X -R .
Если вы обслуживаете его из домашнего каталога root, убедитесь, что у каталогов есть разрешение на выполнение для каждого каталога от root (/) до каталога, который вы обслуживаете. По умолчанию root обычно имеет 700 разрешений в своем домашнем каталоге. Разрешения на выполнение в каталогах требуются для «cd» в этот каталог, чего nginx не может сделать, если разрешение на выполнение не разрешено для каталогов для пользователя, под которым работает nginx.
также:
chmod +X -R .
весьма полезен, поскольку он изменяет только права доступа к каталогам, а не файлы, см. https://www.franzoni.eu/chmod-and-the-capital-x/