Имеет ли nginx директиву, аналогичную <Directory>Apache?

Я пытаюсь настроить сервер nginx, чтобы заменить нашу текущую настройку на основе Apache. Наши пользователи имеют каталоги, защищенные паролем (с директивами в файлах.htaccess), которые нам необходимо сохранить в новой настройке.

Насколько я вижу, у nginx нет директивы Directory, а есть только директива Location, которая ссылается на URI вместо путей к файловой системе. Это означает, что если каталог доступен через несколько URL-адресов. Я должен включить их все в одну или несколько директив Location. Например:

domain.com, root: /home/user/public_html
sub.domain.com, root: /home/user/public_html/sub

Если пользователь защищает sub.domain.com/admin (каталог /home/user/public_html/sub/admin) Я должен убедиться, что оба /admin в sub.domain.com а также /sub/admin в domain.com защищены одним и тем же файлом паролей. Я предпочел бы защитить сам каталог, а не URL-адреса, через которые посетители могут получить доступ к его содержимому.

Итак, имеет ли nginx какой-либо механизм, который позволяет ссылаться на пути файловой системы в файлах конфигурации, например Apache <Directory> блоки делают - или, может быть, я просто неправильно читаю документацию nginx?

1 ответ

В nginx такого механизма нет. Я обычно устанавливаю разные каталоги для разных хостов:

domain.com, root: /home/user/sites/domain.com
sub.domain.com, root: /home/user/sites/sub.domain.com

что упрощает (nginx) конфигурацию.

Другие вопросы по тегам