Имеет ли 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) конфигурацию.