~/tools/nginx/htpasswd-generator

Nginx

Nginx 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.