Программа для шифрования пароля
Создание файла с паролями осуществляется с помощью утилиты
passwd которая входит в состав пакета apache2-utils
В файле с паролями пароли хранятся в зашифрованном виде в формате login:hash, где для создания hash используется модифицированный алгоритм MD5.
Пример файла:
gygtest:eCcls0kn3MEXs
Устанавливаем пакет:
# apt-get install apache2-utils
Создаем пароль
Обычно для хранения паролей использую специальную папку
# mkdir /etc/nginx/passwd
htpasswd -с /etc/nginx/passwd/hostname.htpasswd username
ключ -c создает новый файл
Меняем конфигурацию nginx
В location / определенного виртуального хоста hostname изменим конфигурацию следующих модулей:
- ngx_http_access_module
- ngx_http_auth_basic_module
Указываем директиву satisfy значениe any - разрешает доступ, если хотя бы один из модулей ngx_http_access_module, ngx_http_auth_basic_module или ngx_http_auth_request_module разрешают доступ.
# nano /etc/nginx/sites-available/<hostname>
...
location / {
...
satisfy any;
allow 10.0.0.0/8;
allow 10.1.1.0/16;
allow 2001:0db8::/32;
auth_basic "Restricted zone";
auth_basic_user_file /etc/nginx/passwd/hostname.htpasswd;
}
...
Проверяем конфигурацию nginx:
service nginx configtest
Перезагружаем сервер:
server nginx restart
comments powered by Disqus