Назад | Перейти на главную страницу

Список каталогов не работает на nginx, показывая ошибку 404

ОБНОВЛЕНО 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/