Изучение различных методов настройки обратного прокси-сервера NGINX Docker для Localhost

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

Метод 1: Docker Compose с официальным изображением NGINX
Docker Compose предоставляет удобный способ определения и управления многоконтейнерными приложениями. Вы можете использовать официальный образ NGINX Docker и настроить его в качестве обратного прокси-сервера, добавив собственный файл nginx.conf. Вот пример файла docker-compose.yml:

version: '3'
services:
  reverse-proxy:
    image: nginx
    volumes:
      - ./nginx.conf:/etc/nginx/nginx.conf
    ports:
      - 80:80

Метод 2: Менеджер прокси-серверов NGINX
Менеджер прокси-серверов NGINX — это веб-инструмент с графическим пользовательским интерфейсом, который упрощает настройку обратных прокси-серверов NGINX. Он предоставляет интуитивно понятный интерфейс для создания прокси-хостов, SSL-сертификатов и многого другого и управления ими. Чтобы настроить его:

  1. Установите Docker и Docker Compose на свой компьютер.
  2. Создайте файл docker-compose.ymlсо следующим содержимым:
version: '3'
services:
  app:
    image: 'jc21/nginx-proxy-manager:latest'
    ports:
      - '80:80'
      - '81:81'
      - '443:443'
      - '444:444'
    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt
  1. Запустите docker-compose up -d, чтобы запустить NGINX Proxy Manager.
  2. Войдите в веб-интерфейс по адресу http://localhost:81и следуйте указаниям мастера установки, чтобы настроить обратный прокси-сервер.

Метод 3: пользовательская конфигурация NGINX
Если вы предпочитаете больше контроля над конфигурацией NGINX, вы можете создать собственный образ Docker NGINX с желаемой конфигурацией. Вот пример Dockerfile:

FROM nginx
COPY nginx.conf /etc/nginx/nginx.conf

Затем вы можете создать образ с помощью docker build -t my-nginx .и запустить его с помощью docker run -p 80:80 my-nginx.

Метод 4: обратный прокси-сервер Traefik
Traefik — еще одно популярное решение для обратного прокси-сервера, которое хорошо интегрируется с Docker. Он автоматически обнаруживает контейнерные службы и динамически настраивает обратный прокси-сервер на основе меток. Чтобы использовать Traefik:

  1. Установите Docker и Docker Compose.
  2. Создайте файл docker-compose.ymlсо следующим содержимым:
version: '3'
services:
  reverse-proxy:
    image: traefik
    command:
      - --api.insecure=true
      - --providers.docker=true
    ports:
      - 80:80
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
  1. Определите метки в файле docker-compose.ymlвашего приложения, чтобы указать правила маршрутизации и серверные службы.