07.11.2026
nginx reverse proxy docker
Нginx в роли обратного прокси
Нginx может использоваться в качестве обратного прокси для проброса трафика от внешнего мира к внутреннему серверу. Для этого настроение Nginx требуется конфигурировать в качестве прокси-сервера, который будет принимать запросы от клиентов и проходить их к внутреннему серверу.
Настройка Nginx в роли обратного прокси в Docker
Чтобы настроить Nginx в качестве обратного прокси в Docker, вам потребуется:
- Создать файл конфигурации Nginx (
nginx.conf) с настройками обратного прокси:
user nginx;
worker_processes 1;
http {
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://localhost:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
}
- Создать Docker-образ Nginx с конфигурацией обратного прокси:
FROM nginx:latest
COPY nginx.conf /etc/nginx/nginx.conf
EXPOSE 80
- Создать файл
docker-compose.ymlс конфигурацией Docker-образов:
version: '3'
services:
nginx:
build: .
ports:
- "80:80"
depends_on:
- app
environment:
- NGINX_HOST=example.com
- NGINX_PORT=8080
app:
build: ./app
ports:
- "8080:8080"
- Запустите Docker-образы с помощью команды
docker-compose up.
Остроконечные случаи
- Проксирование SSL-трафика: Если вы хотите проксировать SSL-трафик через Nginx, вам потребуется настроить SSL-сертификаты и конфигурацию Nginx для использования HTTPS.
http {
...
server {
listen 443 ssl;
server_name example.com;
ssl_certificate /etc/nginx/ssl/example.com.crt;
ssl_certificate_key /etc/nginx/ssl/example.com.key;
location / {
proxy_pass https://localhost:8443;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
}
- Динамическая конфигурация: Если вы хотите динамически конфигурировать Nginx в зависимости от изменений в вашей приложении, вы можете использовать переменные окружения и настраивать конфигурацию Nginx на лету.
http {
...
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://localhost:$APP_PORT;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
}
Заключение:
В этой статье мы рассмотрели, как настроить Nginx в качестве обратного прокси в Docker, а также обсудили некоторые остроконечные случаи, с которыми вы можете столкнуться при работе с этой конфигурацией. Мы надеемся, что эта информация была полезна для вас и помогла вам в понимании того, как настроить Nginx в качестве обратного прокси в Docker.