директива root

Gena Makhomed gmm at csdoc.com
Wed May 28 18:38:46 MSD 2008


On Wednesday, May 28, 2008 at 16:03:01, Igor V. Fatkulin wrote:

IVF> Закрыл доступ к каталогу /edit/ через директивы auth_basic*
IVF> Файл паролей сгенерирован апачевской утилиткой. При обращении
IVF> к каталогу нгинкс выдает запрос на имя-пароль, после удачной
IVF> аутентификации на любой запрашиваемый файл отвечает 404 Not found.

IVF> В чем м.б. проблема?

директива root не указана для location /edit/
на уровне этого server она также отсутствует,
поэтому наследуется root из контекста http.

если и на уровне http в конфиге явно ничего не указано,
тогда root по умолчанию имеет значение /usr/local/nginx/html
в этом root`е нет подкаталога /edit/, поэтому 404 Not found.

решить эту проблему можно, если прописать еще одну директиву
root внутри location /edit/ или вынести ее на уровень server,
и убрать в этом server`е остальные дублирующиеся директивы root.

http://sysoev.ru/nginx/docs/http/ngx_http_core_module.html#root

IVF>     server {
IVF>
IVF>         location / {
IVF>             root   /data/apache/docroot;
IVF>         }
IVF>
IVF>         location /edit/ {
IVF>         }
IVF>     }

-- 
Best regards,
 Gena






More information about the nginx-ru mailing list