Default Green Orange
Gemini_13's Blog
Блокнот полезных вещей
Home
    • Карта сайта
    • Обо мне
RSS

Пароль на папку в Nginx

FreeBSD, Linux, Настройка сервера Add comments

Понадобилось мне запаролить доступ к папке на сервере. На Apache я такое делал, но недавно перешел на Nginx и решил записать себе заметку как это делать на нем. Эта процедура состоит из двух этапов.

Настройка хоста

Итак, у меня есть настроенные виртуальные хосты и для нужного хоста в секцию local мы пишем следующие две строки. Первая — это сообщение пользователю, а вторая — путь к файлу .htpasswd.

location / {
	auth_basic "Unauthorized";
	auth_basic_user_file /www/.htpasswd;
}
location ~ /\.ht { return 403; }


Последняя же строка отвечает за то, чтобы запретить передачу файлов названия которых похожи на .ht.

Создание .htpasswd

Для генерации пароля можно использовать htpasswd, которая идет вместе с apache:

htpasswd -nd username

username — это имя пользователя.

Тузла два раза запросит пароль и после чего выдаст Вам результат такого вида:

username:oY/3xqwhO7w7E

где
username — имя пользователя
oY — двухсимвольная соль для crypt()
/3xqwhO7w7E — хеш пароля
Этот способ действителен если у Вас все еще есть апач, но если его нет, можно прибегнуть к php:

php -r 'echo crypt("password", "oY");'

После чего мы получим такой же результат.
Сам не проверял, но вот еще вариант для python взятый с просторов инета:

python -c 'import crypt; print crypt.crypt("password", "oY")'

После того, как вы это закончите, надо просто записать строку в файл .htpasswd и перезапустить Nginx:

service nginx restart

Вот и всё, друзья 🙂


24 января, 2013  
Tags: apache, htpasswd, nginx, password, php, python, пароль

One Response to “Пароль на папку в Nginx”

  1. Мониторим сервер с помощью Munin | Gemini_13's Blog
    16 ноября, 2013 at 4:53 дп

    […] статистики. Как это сделать, можно прочитать тут: http://g13.org.ua/пароль-на-папку-в-nginx/ Подключим […]


Leave a Reply

  • Рубрики

    • FreeBSD (20)
    • Linux (46)
    • MySQL (11)
    • Windows (14)
    • Железо (3)
    • Мои моды к TorrentPier II (16)
    • Настройка сервера (49)
    • Разное (33)
    • Скрипты (30)
  • Свежие записи

    • Поля форм на Yii2: textInput(), passwordInput() и hiddenInput()
    • Поля форм на Yii2: CheckboxList()
    • SpeedTest датацентров Digital Ocean
    • Патчим Gearman на Debian
    • nginx + Apache 2.4 и REMOTE_ADDR (решение проблемы)
    • Создание и подключение swap-файла в Debian
    • Запуск PhpStorm 9 x64 на Windows
    • Рекурсивная замена прав доступа для папок и файлов в Linux
    • VirtualBox 5 + phpVirtualBox на Debian 8.2 (jessie)
    • Обработка сессий PHP с помощью Redis + phpredis на Debian 7.8
  • Ссылки

    • My GitHub
  • Архивы

    • Июнь 2016 (2)
    • Март 2016 (2)
    • Январь 2016 (3)
    • Ноябрь 2015 (2)
    • Август 2015 (1)
    • Февраль 2015 (1)
    • Январь 2015 (7)
    • Октябрь 2014 (1)
    • Июнь 2014 (1)
    • Май 2014 (1)
    • Апрель 2014 (7)
    • Февраль 2014 (9)
    • Январь 2014 (5)
    • Декабрь 2013 (7)
    • Ноябрь 2013 (1)
    • Октябрь 2013 (3)
    • Август 2013 (4)
    • Июль 2013 (4)
    • Июнь 2013 (3)
    • Апрель 2013 (2)
    • Март 2013 (2)
    • Февраль 2013 (6)
    • Январь 2013 (2)
    • Декабрь 2012 (1)
    • Ноябрь 2012 (2)
    • Октябрь 2012 (7)
    • Сентябрь 2012 (22)
Все права защищены © 2013 Gemini_13's Blog
G13.org.ua