Svyaz

13.07.2026

nginx proxy docker

Svyaz VPN — свобода без границ

Как настроить nginx proxy с помощью Docker

Начнем с того, что nginx (нехешированная версия, но это не важно) — это веб-сервер, который часто используется для балансирования нагрузки, защиты от DDoS-атак и обеспечения доступа к защищенным сервисам на основе ключа авторизации. Proxy — это сеть, которая позволяет вам маскировать IP-адреса клиентов и обеспечить безопасность при взаимодействии с внешними ресурсами. Docker — это платформа для контейнеризации приложений, которая позволяет вам создавать и управлять независимыми контейнерами с легко конфигурируемыми системами.

Наша задача — настроить nginx proxy с помощью Docker. Мы будем использовать образ nginx:latest, который является современным вариантом старого образа nginx:1.14.2. Образ можно скачать и использовать с помощью следующей команды:

docker pull nginx:latest

Для начала создадим контейнер nginx. Мы можем сделать это с помощью следующей команды:

docker run --name nginx-proxy -d -p 80:80 nginx:latest

Данная команда создаст контейнер под названием nginx-proxy и привяжет его к порту 80.

Настройка nginx proxy

Теперь нам нужно настроить nginx proxy. Для этого нам нужно создать конфигурационный файл nginx.conf. Мы можем сделать это с помощью следующей команды:

docker exec -it nginx-proxy /bin/bash

Данная команда позволит нам войти в контейнер nginx-proxy. Затем мы можем создать конфигурационный файл nginx.conf с помощью следующей команды:

echo "http {
    upstream backend {
        server localhost:8080;
    }

    server {
        listen 80;
        server_name localhost;

        location / {
            proxy_pass http://backend;
            proxy_set_header Host \$host;
            proxy_set_header X-Real-IP \$remote_addr;
        }
    }
}" > /etc/nginx/nginx.conf

Этот конфигурационный файл настроит nginx на использование upstream-сервера backend, который будет доступен на порту 8080. Затем он сможет принимать запросы по адресу localhost и перенаправлять их на upstream-сервер.

Настройка Docker Compose

Наконец, мы можем настроить Docker Compose. Для этого нам нужно создать файл docker-compose.yml с следующим содержанием:

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

Этот файл настроит Docker Compose так, чтобы он создал контейнер nginx-proxy на основе образа nginx:latest, привязал его к порту 80 и подставил конфигурационный файл nginx.conf.

Итоги

Наконец, нам нужно объединить все наши команды в одной команде. Мы можем сделать это с помощью следующей команды:

docker-compose up -d

Данная команда запустит контейнер nginx-proxy в фоновом режиме.

Итак, мы успешно настроили nginx proxy с помощью Docker. Теперь вы можете использовать нашу систему для маскировки IP-адресов клиентов и обеспечения безопасности при взаимодействии с внешними ресурсами.