Перейти к содержанию

Обзор развертывания Nginx с Certbot на сервере

Контейнеры Docker и их запуск

Приложение развертывается с использованием контейнера Docker. Для управления контейнером используется файл конфигурации compose.yml.

Основные параметры контейнера: - Образ: jonasal/nginx-certbot:latest - Политика перезапуска: unless-stopped - Порт 80: перенаправляется на порт 80 контейнера - Порт 443: перенаправляется на порт 443 контейнера

Контейнер использует следующие тома для хранения данных: - nginx_secrets: внешний том, монтируемый в /etc/letsencrypt для хранения сертификатов Let's Encrypt. - ./user_conf.d: локальная директория, монтируемая в /etc/nginx/user_conf.d для пользовательских конфигураций.

Переменные окружения загружаются из файла ./nginx-certbot.env. Также задана переменная CERTBOT_EMAIL со значением hkadm@hostkey.com.

Прокси серверы

В качестве прокси-сервера используется контейнер Nginx с поддержкой Certbot для автоматического получения и обновления SSL-сертификатов.

Конфигурация сервера Nginx находится в файле user.conf и включает следующие настройки: - Прослушивание портов 443 для IPv4 и IPv6 с использованием SSL. - Имя сервера формируется динамически на основе префикса, идентификатора сервера и зоны домена. - Путь к полному сертификату: /etc/letsencrypt/live/{домен}/fullchain.pem. - Путь к ключу сертификата: /etc/letsencrypt/live/{домен}/privkey.pem. - Путь к цепочке доверенных сертификатов: /etc/letsencrypt/live/{домен}/chain.pem. - Путь к параметру Diffie-Hellman: /etc/letsencrypt/dhparams/dhparam.pem.

Сервер возвращает ответ со статусом 200 и текстом подтверждения успешной установки сертификата. Тип содержимого ответа установлен как text/plain.

Структура файлов и каталогов

Структура каталогов на хосте включает: - Директория user_conf.d: содержит пользовательские конфигурационные файлы Nginx. - Файл nginx-certbot.env: содержит переменные окружения для контейнера. - Файл compose.yml: конфигурация Docker Compose для запуска контейнеров. - Внешний том nginx_secrets: используется для хранения данных Let's Encrypt.

Права доступа и безопасность

Контейнер Nginx работает с привилегиями, необходимыми для прослушивания портов 80 и 443. Доступ к портам осуществляется через стандартные протоколы HTTP и HTTPS.

Сертификаты и ключи хранятся в защищенной директории /etc/letsencrypt внутри контейнера, которая монтируется из внешнего тома nginx_secrets.

Запуск, остановка и обновление

Для запуска, остановки и обновления контейнера используются стандартные команды Docker Compose. Конфигурация контейнера определяется в файле compose.yml.

Команды управления: - Запуск контейнера: docker compose up -d - Остановка контейнера: docker compose down - Обновление образа и перезапуск: docker compose pull и docker compose up -d

question_mark
Я могу вам чем-то помочь?
question_mark
ИИ Помощник ×