Frod

04.11.2026

docker nginx letsencrypt proxy

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

Установка и конфигурация Docker Nginx с Let's Encrypt и прокси: шаг за шагом

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

Установка Docker и Nginx

Чтобы начать, вам нужно установить Docker на своем сервере. Вы можете скачать Docker из официального репозитория и следовать инструкциям по установке. После установки начнем с созданием нового файла docker-compose.yml, в котором описываем конфигурацию нашего Nginx-сервера.

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

Настройка Nginx

В следующем шаге мы создаем конфигурационный файл nginx.conf, в котором настраиваем наши настройки прокси и SSL/TLS.

http {
 ...
 upstream backend {
 server localhost: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;
 }
 }
}

Установка Let's Encrypt

Чтобы подключить Let's Encrypt к нашему Nginx-серверу, нам нужно установить Certbot и настроить его для автозапроса SSL/TLS-сертификатов.

sudo apt-get update
sudo apt-get install certbot python3-certbot-nginx

Настройка автозапроса SSL/TLS-сертификатов

Чтобы Let's Encrypt мог автоматически обновлять SSL/TLS-сертификаты, нам нужно настроить автозапуск Certbot.

sudo certbot certonly --webroot --webroot-path=/usr/share/nginx/html --email your_email@example.com --agree-tos --non-interactive --domains -d example.com

Настройка прокси

Чтобы настроить прокси, нам нужно создать файл конфигурации прокси и добавить его в наш docker-compose.yml.

version: '3'
services:
 nginx:
 ...
 volumes:
 - ./proxy.conf:/etc/nginx/proxy.conf:ro

Файл конфигурации прокси

В следующем шаге мы создаем файл конфигурации прокси и настраиваем его.

http {
 ...
 upstream backend {
 server localhost: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.yml.

version: '3'
services:
 nginx:
 ...
 volumes:
 - ./proxy.conf:/etc/nginx/proxy.conf:ro

Включение Let's Encrypt

Чтобы включить Let's Encrypt, нам нужно добавить конфигурацию Let's Encrypt в наш docker-compose.yml.

version: '3'
services:
 nginx:
 ...
 volumes:
 - ./letsencrypt.conf:/etc/nginx/letsencrypt.conf:ro

Файл конфигурации Let's Encrypt

В следующем шаге мы создаем файл конфигурации Let's Encrypt и настраиваем его.

http {
 ...
 upstream backend {
 server localhost: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;
 }
 }
}

Включение SSL/TLS

Чтобы включить SSL/TLS, нам нужно добавить конфигурацию SSL/TLS в наш docker-compose.yml.

version: '3'
services:
 nginx:
 ...
 volumes:
 - ./ssl.conf:/etc/nginx/ssl.conf:ro

Файл конфигурации SSL/TLS

В следующем шаге мы создаем файл конфигурации SSL/TLS и настраиваем его.

http {
 ...
 upstream backend {
 server localhost:8080;
 }
 server {
 listen 443 ssl;
 server_name example.com;

 ssl_certificate /etc/nginx/ssl.crt;
 ssl_certificate_key /etc/nginx/ssl.key;

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

Включение автозапроса SSL/TLS-сертификатов

Чтобы включить автозапрос SSL/TLS-сертификатов, нам нужно добавить конфигурацию автозапроса в наш docker-compose.yml.

version: '3'
services:
 nginx:
 ...
 volumes:
 - ./autorenew.conf:/etc/nginx/autorenew.conf:ro

Файл конфигурации автозапроса

В следующем шаге мы создаем файл конфигурации автозапроса и настраиваем его.

http {
 ...
 upstream backend {
 server localhost:8080;
 }
 server {
 listen 443 ssl;
 server_name example.com;

 ssl_certificate /etc/nginx/ssl.crt;
 ssl_certificate_key /etc/nginx/ssl.key;

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

Включение прокси и SSL/TLS

Чтобы включить прокси и SSL/TLS, нам нужно добавить конфигурацию прокси и SSL/TLS в наш docker-compose.yml.

version: '3'
services:
 nginx:
 ...
 volumes:
 - ./proxy.conf:/etc/nginx/proxy.conf:ro
 - ./ssl.conf:/etc/nginx/ssl.conf:ro

Таким образом, мы успешно установили и настроили Docker Nginx с Let's Encrypt и прокси. Данная конфигурация обеспечит безопасное подключение к базе данных или другим внутренним ресурсам и защиту от внешних угроз.