Nginx

Как использовать Nginx Proxy Manager

Как использовать Nginx Proxy Manager
Nginx - популярный веб-сервер и обратный прокси, используемый для маршрутизации трафика и его перенаправления на другой сервер. Настройка Nginx в качестве обратного прокси-сервера может занять много времени и привести к ошибкам и неправильной настройке. Это руководство покажет вам, как настроить и использовать прокси-менеджер Nginx для упрощения управления и настройки. Перед тем, как погрузиться в учебник, есть несколько предварительных условий. Тебе понадобится:

  1. Сервер Linux
  2. Docker и Docker compose установлены на сервере
  3. Корень или пользователь с разрешениями sudo

Если у вас есть все это, позвольте нам погрузиться в.

Что такое Nginx Proxy Manager?

Nginx Proxy Manager (NPM) - это система управления обратным прокси, работающая на Docker. NPM основан на сервере Nginx и предоставляет пользователям чистый, эффективный и красивый веб-интерфейс для упрощения управления. Инструмент прост в настройке и не требует, чтобы пользователи знали, как работать с серверами Nginx или SSL-сертификатами. NPM - это инструмент с открытым исходным кодом, поддерживаемый разработчиками со всего мира. Он хорошо подходит для небольших серверных сред и частных лабораторий. В этом руководстве мы расскажем, как развернуть прокси-менеджер Nginx:

Установка Docker и SQLite

Nginx Proxy Manager работает как докер-контейнер; таким образом, на сервере должны быть установлены Docker и docker-compose. Для простоты я только проиллюстрирую, как установить Docker на Ubuntu. Пожалуйста, обратитесь к документации Docker, чтобы узнать, как настроить его в других системах. Чтобы установить Docker в Ubuntu, начните с удаления старых установок Docker. Пропустите это, если ничего не доступно.

sudo apt-get удалить docker docker-engine docker.io containerd runc

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

sudo apt-get update
sudo apt-get install apt-transport-https ca-сертификаты curl gnupg lsb-release -y

Добавьте GPG-ключ репозитория Docker:

curl -fsSL https: // скачать.докер.com / linux / ubuntu / gpg | sudo gpg --dearmor -o / usr / share / keyrings / docker-archive-keyring.gpg

Затем добавьте стабильный репозиторий, используя команду echo как:

echo "deb [arch = amd64, подписанный = / usr / share / keyrings / docker-archive-keyring.gpg] https: // скачать.докер.com / linux / ubuntu \
$ (lsb_release -cs) стабильный "| sudo tee / etc / apt / sources.список.д / докер.список> / dev / null

Наконец, обновите репозитории и установите докер с помощью команд:

sudo apt-get update && sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose -y

Теперь запустите докер и включите при запуске:

sudo systemctl включить докер.услуга
sudo systemctl запустить докер.услуга
sudo systemctl включить containerd.услуга

Установить SQLite

Следующим шагом будет установка базы данных SQLite, которую мы будем использовать для запуска NPM. Стоит отметить, что вы также можете использовать базу данных MySQL.

Развернуть NPM на Docker

Чтобы развернуть Nginx Proxy Manager, нам нужно создать файл docker-compose для запуска Docker и инициализации контейнера. Чтобы узнать больше о файле компоновки Docker и о том, как он работает, рассмотрите ссылки на ресурсы, указанные здесь. Я настоятельно рекомендую вам создать файл docker-compose в каталоге, у которого есть полные разрешения.

nano docker-compose.ямл

Затем добавьте следующие строки в файл создания, сохраните и закройте.

версия: "3"
Сервисы:
приложение:
изображение: 'jc21 / nginx-proxy-manager: последний'
перезапуск: всегда
порты:
# HTTP-порт
- '80: 80'
# Порт HTTPS:
- '443: 443'
# Интерфейс администратора
- '81: 81 '
среда:
DB_SQLITE_FILE: "/ data / npm.sqlite "
объемы:
- ./ данные: / данные
- ./ letsencrypt: / и т.д. / letsencrypt

Наконец, запустите команду docker-compose как:

docker-compose up -d

Это развернет стек из образа NPM, указанного в файле docker-compose. Результат создания:

Создание сети "debian_default" с драйвером по умолчанию
Получение приложения (jc21 / nginx-proxy-manager: последняя версия)…
последнее: получение из jc21 / nginx-proxy-manager
801bfaa63ef2: Извлечение завершено
7927cd3bbe4c: Потяните завершено
f53b85628da5: Вытягивание завершено
e834c30791f9: Вытягивание завершено
6b68b3708dd5: Вытягивание завершено
963fe519b5fd: Извлечение завершено
37e54d057f10: Вытягивание завершено
-------------------------------------
Дайджест: sha256: b33aab798a6150ba7dd238d36936d0882a312c983a0b3eb261a6dcbd5e6a3425
Статус: загружено более новое изображение для jc21 / nginx-proxy-manager: latest
Создание debian_app_1… выполнено

Доступ к пользовательскому интерфейсу NPM

После создания и запуска вы можете войти в интерфейс, используя IP-адрес и порт, указанные в файле docker-compose. В этом случае порт 81.

http: // IP: 81

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

[email protected] и changeme соответственно.

При первом входе в систему вам необходимо обновить данные администратора.

После обновления всех сведений о пользователе вы попадете на главную панель управления, где сможете настроить свои прокси-хосты:

Работа с NPM

Установив и убедившись, что прокси-менеджер запущен, мы можем добавить прокси-хост, чтобы открыть службу, работающую на сервере. Перейдите к Hosts - Proxy Hosts и нажмите Add Proxy Host.

Выберите схему, например HTTP или HTTPS. Если сервис, который вы хотите предоставить, не поддерживает трафик HTTPS, придерживайтесь HTTP. Затем добавьте доменные имена, имя хоста пересылки и IP-адрес. Вы также можете выбрать Блокировать распространенные эксплойты для дополнительной безопасности.

После того, как вы предоставили услугу, попробуйте получить к ней доступ, используя указанное имя хоста или IP-адрес и порт. Эта услуга должна быть доступна. Вы также можете управлять прокси в списке хостов прокси.

Список доступа NPM

В некоторых случаях нам может потребоваться предоставить приложение или службу в списке прокси-серверов NPM для определенных IP-адресов. Чтобы настроить это, вы можете использовать список доступа NPM.

Перейдите к списку доступа и нажмите Добавить список прокси. Здесь дайте им имя списка доступа; вы также можете выбрать "Удовлетворительно".

На вкладке авторизации укажите имена пользователей и пароли, которые вы будете использовать для входа в сервис.

Перейдите на вкладку «Доступ» и добавьте IP-адреса, с которых вы хотите разрешить соединения, и запретить все остальные.

Чтобы прикрепить список доступа к определенному веб-приложению, перейдите в Hosts - Proxy Host и выберите свой хост. Нажмите Edit и установите список доступа, как определено выше.

Предоставление сертификатов SSL

NPM также позволяет предоставлять сертификаты SSL для различных доменных имен. Перед добавлением доменного имени в положение SSL убедитесь, что домен указывает на прокси-сервер NPM.

Перейдите к сертификатам SSL и нажмите Добавить сертификат SSL. Укажите доменные имена и адрес электронной почты для Let's Encrypt. Наконец, примите условия использования и сэкономьте. Вы также можете добавить вызов DNS, но я не буду рассматривать его в этом руководстве.

Это создаст новый доверенный сертификат SSL.

Настроить домашнюю страницу

Вы также можете настроить веб-страницу по умолчанию для сервера NPM. Нажмите «Настройки» - «Сайт по умолчанию» и выберите «Изменить». Вы можете выбрать отображение ОШИБКИ 404, перенаправления на новый адрес или создания настраиваемой страницы.

Например, ниже приведен HTML-код, показывающий 403 Forbidden.







403 - Запрещено


ИСТОЧНИК: CodePen https: // codepen.io / blecaf / pen / NLoEPY

Заключение

В этом руководстве рассматривается установка и развертывание диспетчера прокси Nginx на сервере Ubuntu, на котором запущен Docker. Затем мы рассмотрели, как настроить NPM и добавить хосты в прокси-менеджер.

Помните: постоянное экспериментирование - ключ к мастерству, поэтому экспериментируйте!

Vulkan для пользователей Linux
С каждым новым поколением видеокарт мы видим, как разработчики игр расширяют границы графической точности и приближаются на шаг ближе к фотореализму. ...
OpenTTD против Simutrans
Создание собственного транспортного симулятора может быть увлекательным, расслабляющим и чрезвычайно увлекательным занятием. Вот почему вам нужно попр...
Учебник OpenTTD
OpenTTD - одна из самых популярных бизнес-симуляторов. В этой игре вам нужно создать замечательный транспортный бизнес. Тем не менее, вы начнете в нач...