~/tools/nginx/htpasswd-generator
NginxNginx htpasswd Generator
Сгенерировать файл htpasswd для Basic Auth в nginx.
Как это работает
Нужно быстро закрыть паролем staging окружение или админку внутреннего инструмента, а устанавливать утилиту htpasswd из пакета apache2-utils только ради одной строчки не хочется? Nginx htpasswd generator online создает готовую строку логин и хеш пароля прямо в браузере по двум простым полям формы.
Инструмент использует встроенный в браузер механизм SHA-1 хеширования через Web Crypto API и формирует строку в формате, который nginx понимает для файла basic auth, логин, двоеточие и хеш с префиксом фигурные скобки SHA.
Стоит помнить, что SHA-1 без соли считается устаревшим методом хеширования по современным стандартам и подходит скорее для временной защиты некритичных staging окружений, для по-настоящему важных данных лучше использовать полноценный htpasswd с bcrypt через официальную утилиту apache2-utils.
Частые вопросы
Безопасен ли SHA-1 формат для защиты продакшн окружения?
Не рекомендуется для действительно критичных данных, SHA-1 без соли уязвим к атакам подбора по радужным таблицам, для продакшн окружений лучше сгенерировать хеш через официальную утилиту htpasswd с алгоритмом bcrypt.
Куда вставить получившуюся строку логин и хеш?
Строка вставляется в отдельный файл, например .htpasswd, путь к которому потом указывается в nginx конфиге через директиву auth_basic_user_file внутри нужного location или server блока.
Нужно ли перезапускать nginx после добавления Basic Auth?
Да, после изменения конфига и добавления директив auth_basic и auth_basic_user_file требуется перезагрузка nginx командой с флагом минус s reload, чтобы изменения вступили в силу.
Можно ли добавить несколько пользователей в один файл htpasswd?
Да, просто сгенерируйте отдельную строку для каждого пользователя этим же инструментом и добавьте все строки построчно в один и тот же файл, nginx поддерживает произвольное количество пользователей в одном файле basic auth.