Простое руководство по установке Nginx Proxy Manager

0 Акции
0
0
0
0

Введение

Мы установим Nginx Proxy Manager — программное обеспечение с открытым исходным кодом, разработанное для упрощения использования веб-сервера Nginx через пользовательский интерфейс. С помощью Nginx Proxy Manager вы можете создавать прокси-хосты, перенаправлять хосты, потоки и хосты 404.

Предпосылки
  • Сервер с выделенным адресом IPv4
  • Базовые знания Linux и терминала
  • Доступны порты 80, 81, 443.

Шаг 1 — Создайте новый сервер

Создайте новый сервер, например с Hotsnr

При создании сервера убедитесь, что выбранная вами операционная система поддерживается Docker. В этом руководстве мы будем использовать Ubuntu 24.04. Кроме того, стандартного тарифного плана должно быть достаточно для обратного прокси-сервера с небольшим трафиком.

Также рекомендуется добавить SSH-ключ.

В целях безопасности использование пользователя root не рекомендуется. Вместо этого следует создать нового пользователя и добавить его в группу sudo.

Шаг 2 — Установка Docker и Nginx Proxy Manager

  • Подключение к вашему серверу

Для начала вы можете подключиться к новому серверу через SSH.

ssh holu@<server_ip>
  • Установка Докера

Чтобы установить Docker в Ubuntu, выполните следующие команды. Если на вашем сервере установлена другая операционная система, убедитесь, что вы нашли правильные команды (см. раздел Установка Docker — поддерживаемые платформы).

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

# Uninstall old versions
sudo apt-get purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras
# Install prerequisites
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
# Add Docker’s official GPG key
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
# Set up stable repository
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Установка Docker Engine и Docker Compose:

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
# Test the installation
docker --version
docker compose version

Мы успешно установили Docker и Docker Compose.

Добавьте своего пользователя в группу Docker:

sudo usermod -aG docker <user>

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

Теперь нам нужно установить сам Nginx Proxy Manager.

  • Установить прокси-менеджер Nginx

Создайте новый каталог для прокси-менеджера nginx:

mkdir -p npm
cd npm

Выполните следующие команды, перечисленные ниже.

# Create a docker-compose configuration file
touch docker-compose.yml
# Editing the file
nano docker-compose.yml

Поместите следующее содержимое в указанный ниже файл.

version: '3.8'
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
restart: unless-stopped
ports:
- '80:80'
- '81:81'
- '443:443'
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
# network_mode: 'host'

Примечание о сетевом режиме:

  • Если вы планируете использовать прокси-сервер для внешних серверов с публичными IP-адресами, вам не нужен network_mode.
  • Если вы планируете использовать прокси-серверы локальных Docker-контейнеров и хотите указать адрес 127.0.0.1: , вам нужен network_mode и вам нужно удалить символ решетки в начале строки.

Теперь нам нужно поднять стек, выполнив следующую команду.

docker compose up -d

Теперь мы можем получить доступ к интерфейсу администратора, используя следующие данные.

Замените 203.0.113.1 на ваш публичный адрес IPv4.

Интерфейс управления: http://203.0.113.1:81

Администратор по умолчанию:

Email: [email protected]
Password: changeme

Шаг 3 — Доступ к интерфейсу администратора

Сразу после входа в систему под пользователем по умолчанию вам необходимо отредактировать свой профиль и сменить пароль.

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

После входа в систему и изменения всех данных по умолчанию вы можете просмотреть “Панель инструментов”.

Создать свой первый прокси-хост довольно просто. В панели управления нажмите “0 Proxy Host” “ ”Add Proxy Host». Ниже представлен скриншот базовой конфигурации для доступа к интерфейсу администратора из домена (proxy.example.com). Убедитесь, что у домена есть DNS-запись, указывающая на публичный IPv4-адрес сервера.

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

Вы можете отметить другие опции, например, “Принудительное использование SSL” и т. д. по желанию. На изображении они не отмечены, чтобы читатели, читающие это руководство, не запутались и не подумали, что им нужно их отметить.

После сохранения новой записи вы сможете получить доступ к интерфейсу администратора из настроенного вами домена (в этом примере proxy.example.com).

Менеджер прокси-серверов Nginx теперь готов, и вы можете добавить свои прокси-хосты.

Если вы добавили network_mode в файл Docker Compose выше, вы сможете установить для параметра “Имя хоста/IP-адрес пересылки” значение 127.0.0.1 для всех локальных контейнеров. Например, для локального Docker-контейнера WordPress:

holu@tutorial:~/npm$ docker run -p 8080:80 -d wordpress
holu@tutorial:~/npm$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
23bcbfe55c53 jc21/nginx-proxy-manager "/init" 31 minutes ago Up 31 minutes npm-app-1
e9853acea394 wordpress "docker-entrypoint.s…" 22 minutes ago Up 22 minutes 0.0.0.0:8080->80/tcp, :::8080->80/tcp thirsty_greider

Вы можете указать пункт назначения http://127.0.0.1:8080:

Если в вашем файле Docker Compose отсутствует network_mode: 'host', вам необходимо указать в качестве назначения публичный IP-адрес, в этом примере 203.0.113.1:8080.

Результат

Теперь вам нужно установить Nginx Proxy Manager.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может понравиться