Frod

08.10.2026

docker compose proxy

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

Установка и настройка прокси-сервера в Docker Compose

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

Почему нужен прокси-сервер?

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

Установка Docker Compose и NGINX

Для начала нам нужно установить Docker Compose и NGINX на нашем сервере. Если вы еще не установили Docker Compose, вы можете сделать это, выполнив команду:

sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

Для установки NGINX можно использовать официальный репозиторий:

sudo apt-get update
sudo apt-get install -y nginx

Создание файла конфигурации Docker Compose

Далее нам нужно создать файл конфигурации Docker Compose, в котором мы укажем настройки нашего проекта. Скачайте файл example.yml и добавьте в него следующую конфигурацию:

version: '3'
services:
 web:
 build: .
 ports:
 - "8080:80"
 environment:
 - VIRTUAL_HOST=example.com
 - LETSENCRYPT_HOST=example.com
 - LETSENCRYPT_EMAIL=user@example.com
 depends_on:
 - db
 links:
 - db:db
 ports:
 - "8080:80"
 db:
 image: postgres
 environment:
 - POSTGRES_USER=myuser
 - POSTGRES_PASSWORD=mypassword
 - POSTGRES_DB=mydatabase
 volumes:
 - db-data:/var/lib/postgresql/data
volumes:
 db-data:

Настройка NGINX

Далее нам нужно настроить NGINX, чтобы он использовал прокси-сервер. Скачайте файл nginx.conf и добавьте в него следующую конфигурацию:

http {
 upstream backend {
 server web:8080;
 }

 server {
 listen 80;
 server_name example.com;

 location / {
 proxy_pass http://backend;
 proxy_set_header Host $host;
 proxy_set_header X-Real-IP $remote_addr;
 }
 }
}

Запуск Docker Compose

Далее мы запускаем Docker Compose, используя команду:

docker-compose up -d

Результат

После запуска Docker Compose и NGINX вы сможете получить доступ к вашему приложению через прокси-сервер. Чтобы проверить, что все работает исправно, вы можете использовать команду:

curl -I http://example.com

Если все сделано правильно, вы должны увидеть ответ от NGINX, а не от основного сервера.

В этом материале мы рассказали, как настроить прокси-сервер в Docker Compose, используя Docker Compose и NGINX. Мы также рассмотрели, почему нужен прокси-сервер и как его использовать для балансирования нагрузки и повышения производительности.