Nginx+puma: защита сайта паролем

В отличии от Apache, в nginx не используется .htaccess файл. Но защитить паролем сайт в Nginx можно с помощью модуля HttpAuthBasic.

Для того, чтобы защитить какую-либо директорию с помощью пароля, вам нужно прописать следующие директивы в конфигурационном файле Nginx вашего сайта:

/etc/nginx/sites-enabled/mysite

location @puma { auth_basic Unauthorized; auth_basic_user_file /var/www/mysite.com/.htpasswd; }

Это защитит паролем весь сайт, а также все вложенные директории.

Директивой auth_basic_user_file вы можете указать файл с паролем.

Файл htpasswd должен содержать имена пользователей и их пароли. При этом пароли должны быть закодированы с помощью функции crypt(3).

Создаем файл с пользователями: htpasswd -c -d /var/www/mysite.com/.htpasswd USERNAME

Для добавления последующих: htpasswd -d /var/www/mysite.com/.htpasswd NEWUSERNAME

Если система жалуется на отсутствие команды htpasswd, установите apache2-utils: apt-get install apache2-utils

Предыдущая запись Распечатываем потерянный чек и Z-отчет Следующая запись rails -v системе не удается найти указанный путь

Оцените статью
Информационный ресурс для любителей компьютеров и IT технологий