Как настроить базовую HTTP-аутентификацию с Nginx в Ubuntu 14.04

Вступление

Nginx является одним из ведущих веб-серверов в активном использовании. Он и его коммерческое издание Nginx Plus разработаны Nginx, Inc.

В этом руководстве вы узнаете, как ограничить доступ к веб-сайту на платформе Nginx, используя базовый метод аутентификации HTTP в Ubuntu 14.04. Базовая аутентификация HTTP - это простой метод аутентификации по имени пользователя и паролю.

Предпосылки

Для завершения этого урока вам понадобится следующее:

Шаг 1 - Установка инструментов Apache

Вам потребуется команда + htpassword + для настройки пароля, который ограничит доступ к целевому веб-сайту. Эта команда является частью пакета + apache2-utils +, поэтому первым шагом является установка этого пакета.

sudo apt-get install apache2-utils

Шаг 2. Настройка учетных данных для базовой аутентификации HTTP

На этом шаге вы создадите пароль для пользователя, работающего с сайтом.

Этот пароль и соответствующее имя пользователя будут сохранены в указанном вами файле. Пароль будет зашифрован, а имя файла может быть любым. Здесь мы используем файл + / etc / nginx / .htpasswd + и имя пользователя * nginx *.

Чтобы создать пароль, выполните следующую команду. Вам нужно будет пройти аутентификацию, затем указать и подтвердить пароль.

sudo htpasswd -c /etc/nginx/.htpasswd nginx

Вы можете проверить содержимое вновь созданного файла, чтобы увидеть имя пользователя и хешированный пароль.

cat /etc/nginx/.htpasswd

Пример /etc/nginx/.htpasswd

nginx:$apr1$ilgq7ZEO$OarDX15gjKAxuxzv0JTrO/

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

Теперь, когда вы создали учетные данные базовой аутентификации HTTP, следующий шаг - обновить конфигурацию Nginx для целевого веб-сайта, чтобы использовать его.

Базовая аутентификация HTTP возможна благодаря директивам + auth_basic + и + auth_basic_user_file +. Значение + auth_basic + - любая строка, которая будет отображаться в приглашении для аутентификации; значение + auth_basic_user_file + - это путь к файлу паролей, который был создан на шаге 2.

Обе директивы должны быть в конфигурационном файле целевого сайта, который обычно находится в каталоге + / etc / nginx / sites-available +. Откройте этот файл, используя + nano + или ваш любимый текстовый редактор.

sudo nano /etc/nginx/sites-available/default

В разделе * location * добавьте обе директивы:

/etc/nginx/sites-available/default.conf

. . .
server_name localhost;

location / {
       # First attempt to serve request as file, then
       # as directory, then fall back to displaying a 404.
       try_files $uri $uri/ =404;
       # Uncomment to enable naxsi on this location
       # include /etc/nginx/naxsi.rules


}
. . .

Сохраните и закройте файл.

Шаг 4 - Тестирование установки

Чтобы применить изменения, сначала перезагрузите Nginx.

sudo service nginx reload

Теперь попробуйте зайти на только что защищенный веб-сайт, перейдя по ссылке + http: /// + в своем любимом браузере. Вам должно быть представлено окно аутентификации (в котором указано «Частная собственность», строка, которую мы установили для + auth_basic +), и вы не сможете получить доступ к веб-сайту, пока не введете правильные учетные данные. Если вы введете имя пользователя и пароль, которые вы установили, вы увидите домашнюю страницу Nginx по умолчанию.

Заключение

Вы только что выполнили основное ограничение доступа к веб-сайту Nginx. Дополнительную информацию об этом методе и других средствах ограничения доступа можно получить по адресу in в документации Nginx.

Related