1

Мне нужно защитить определенную папку на сервере Ubuntu 12.04 под управлением Nginx.Nginx - Не удалось защитить каталог с помощью htaccess nginx

Я следовал этому руководству: http://nginxlibrary.com/password-protect-a-directory/ и многим другим нравится.

Я создал файл с именем .htpasswd с помощью Apache утилиты и положить его в/и т.д./Nginx/пароли

Затем пошел к блоку сервера в файле конфигурации и положить

location /var/www/mywebsitedir.com/folderthatneedsprotection { 
    auth_basic "Restricted Area"; 
    auth_basic_user_file /etc/nginx/passwords/.htpasswd; 
} 

Я также попробовал много вариации директив местоположения, таких как использование wild cards^~ и т. д., и это все еще не работает. Мне действительно нужно защитить паролем директорию, но она не работает! Любая помощь приветствуется.

+0

Я Разобрался частичное решение. Очень важно проверить, где находится корень сервера, и ждать 10 минут для распространения сервера после перезапуска Nginx. Но теперь моя другая проблема заключается в том, что если вы нажмете «Отменить», вы все равно увидите страницу, но это голая страница html. Но если вы нажмете на свои ссылки и снова отмените отмену, вы перейдете страницу и перейдите на следующую страницу с голой html. Как я могу это решить? – MindOverMatter

+0

В частности, я не вижу авторизации 401, требуемой для файлов и каталогов внутри каталога, если я ударил отмену. Только в самом каталоге. – MindOverMatter

+1

'location' - это URI, а не путь FS. –

ответ

0

Обратите внимание, что вы пытаетесь использовать комбинацию пути и URL-адреса в директиве location. Вместо этого он должен просто содержать относительный URL-адрес после домена.

В вашем случае это, скорее всего, будет:

location /folderthatneedsprotection { 
    auth_basic "Restricted Area"; 
    auth_basic_user_file /etc/nginx/passwords/.htpasswd; 
} 
Смежные вопросы