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

Как я могу заблокировать каталог при установке сервера debian с помощью nginx?

Я перепробовал так много методов и получил много часов с этим. Я редактирую /etc/nginx/nginx.conf и напишите эти строки.

location /home/user/domains/example.com/public_html/lockfolder/ {
  auth_basic "Restricted";
  auth_basic_user_file /home/user/domains/example.com/.htpasswd;
}

и я использую crypt(3) шифрование для создания пароля с помощью команды mkpasswd. Затем я проделал с данной процедурой user:encryptedpasswd в .htpasswd.

Но все работает не так, как было сказано. Дайте мне знать, если кто-нибудь знает, как я могу точно настроить конфигурацию для моей цели! Я также перезагружаю свой nginx с помощью /etc/init.d/nginx reload

В location /home/user/domains/example.com/public_html/lockfolder/ строка неверна, так как она использует путь к файловой системе, а location работает с URI. Правильный конфиг будет выглядеть так

location /lockfolder/ {
    auth_basic "Restricted";
    auth_basic_user_file /path/to/htpassd;
}

Ожидается, что запросы будут ограничены http://www.example.com/lockfolder/something.

Другая возможная ловушка - это другие местоположения, особенно более конкретные и / или заданные регулярными выражениями. Вы должны убедиться, что написанное вами местоположение действительно соответствует запросам, которые вы хотите сопоставить. Видеть http://nginx.org/r/location для документации по деталям сопоставления местоположения.

Попробуй это:

location /lockfolder {
  auth_basic            "Restricted";
  auth_basic_user_file  htpasswd;
}

Начиная с версии 0.6.7, путь auth_basic_user_file определяется относительно каталога файла конфигурации nginx nginx.conf. Если установлен Apache, вы можете создать файл паролей с помощью прилагаемой программы htpasswd.

Документы HttpAuthBasicModule