Назад в блог

Настройка базовой HTTP-аутентификации с помощью Nginx на Ubuntu 20.04

Настройка базовой HTTP-аутентификации с помощью Nginx на Ubuntu 20.04

Nginx — это бесплатный веб-сервер с открытым исходным кодом, используемый для балансировки нагрузки, буферизации и кэширования. С момента своего создания в 2004 году Nginx завоевал популярность благодаря масштабированию веб-серверов и обратному проксированию. Благодаря высокой производительности и отличным возможностям обработки большого объема соединений он используется для управления и контроля входящего трафика.

Как работает HTTP-аутентификация?

При базовой HTTP-аутентификации, все маршруты на сервере заблокированы и требуют соответствующих учетных данных для аутентификации. Каждый раз, когда пользователь пытается получить доступ к защищенному ресурсу, сервер отправляет пользователю заголовок WWW-Authenticate и ответ 401 Unauthorized. Если имя пользователя и пароль, используемые пользователем, верны и совпадают с файлом ключей, соединение устанавливается, в противном случае в доступе отказывается.

В этом руководстве мы подробно рассмотрим шаги настройки базовой HTTP-аутентификации с помощью Nginx на Ubuntu 20.04.

Предварительные требования

Чтобы следовать этому руководству, вам понадобится следующее:

Шаг 1. Обновление репозиториев программного обеспечения

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

Теперь, когда мы обновили репозитории программного обеспечения, давайте установим необходимые apache2 пакеты.

Шаг 2. Установка необходимых пакетов

Поскольку мы настраиваем HTTP-аутентификацию для каталога, мы будем использовать команду htpasswd для создания зашифрованного пароля. Установите пакет apache2-utils с помощью следующей команды:

Шаг 3. Создание пользователя и пароля

На этом шаге мы настроим учетные данные базовой HTTP-аутентификации. В корневом каталоге создайте файл .htpasswd, связанный с пользователем. Пароль будет зашифрован, а имя файла может быть любым по вашему выбору. Используйте следующую команду, чтобы создать файл и добавить пользователя с зашифрованным паролем:

User and Password

Затем проверьте только что созданный файл с помощью следующей команды:

newly-created file

Шаг 4. Обновление конфигурации Nginx

Как только у нас появятся учетные данные базовой HTTP-аутентификации, давайте настроим Nginx и будем использовать его на нашем целевом веб-сайте. Нам требуются директивы auth_basic и auth_basic_user_file для установления базовой HTTP-аутентификации. Значение директивы auth_basic представляет собой строковый формат, тогда как значением auth_basic_user_file является путь к файлу паролей, созданному на Шаге 3.

Важно включить эти две директивы в конфигурационный файл целевого веб-сайта. Вы найдете расположение целевого веб-сайта в каталоге /etc/nginx/sites-available. Откройте конфигурационный файл с помощью редактора nano:

Затем добавьте обе эти директивы в раздел location:

After adding the directive, save and close the configuration file.

Шаг 5. Перезапуск Nginx

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

Шаг 6: Безопасный веб-доступ

После перезапуска Nginx следующим шагом будет попытка получить доступ к IP-адресу или доменному имени в вашем любимом браузере. При нажатии на IP-адрес http://your_domain_name/ в вашем браузере откроется окно с запросом на ввод учетных данных для аутентификации. Как только вы введете правильное имя пользователя и пароль, вы увидите домашнюю страницу Nginx по умолчанию.

Заключение

В этом руководстве мы узнали, как настроить базовую аутентификацию HTTP в Nginx. Базовая аутентификация по имени пользователя/паролю — это лишь один из многих вариантов аутентификации для установления безопасного соединения в Nginx.

Существуют и другие мощные варианты, используемые для аутентификации сервера. Например, некоторые популярные методы, которые вы можете использовать, включают интеграцию API, JSON Web Tokens, аутентификацию на основе ключей SSH. Хотя получение надежных механизмов безопасности поначалу может показаться сложным, они очень эффективны для защиты вашей конфиденциальности.

Кроме того, есть много других учебных материалов и руководств по Nginx, к которым вы можете получить доступ из наших блогов:

Приятной работы!

author

Shreyas Patil

Автор · CloudSigma

Preslav Dobrev — креативный дизайнер в CloudSigma, сосредоточенный на формировании последовательного корпоративного образа с помощью традиционных и инновационных маркетинговых каналов. Он умело сочетает художественное видение со стратегическим маркетингом, создавая убедительные истории бренда.

Комментарии

Комментариев пока нет. Будьте первым.