Введение
Мы установим 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.














