Назад | Перейти на главную страницу

Как обрабатывать контейнер nginx, создавая ключи Letsencrypt, а затем использовать их?

У меня есть образ докера, который создает контейнеры для моего веб-приложения. Детали веб-приложения вообще не имеют значения. Важно то, что каждый раз контейнер может использовать другой адрес (server1., Server2 и т.д.), и я хочу создать ключи Let's encrypt для каждого из них. Для этого я использую авторизацию веб-службы, поэтому certbot создает несколько файлов, к которым затем обращается lets encrypt сервер, чтобы проверить, являюсь ли я владельцем домена. После тестирования он сгенерирует ключи, которые можно использовать.

На данный момент у меня есть nginx файл конфигурации с двумя server части, одна для http и один для https. Я просто комментирую https часть, запустите сервер, выполните certbot действие, раскомментируйте https раздел и перезапустите контейнер.

Это немного громоздко, сложно автоматизировать, есть ли способ изменить nginx конфигурация, чтобы он не вылетал из-за отсутствия доступных сертификатов SSL? А потом после перезапуска заработало автоматически?

Или, может быть, есть еще более простой способ справиться с моим сценарием?

Шаг 1. Поместите две серверные части в разные файлы и включите их из nginx.conf, используя подстановочный знак. Например. включить config.d / *. conf.

Шаг 2: Переименуйте файл сервера SSL в * .conf.disabled.

Шаг 3. В сценарии точки входа проверьте, существует ли файл сертификата. В этом случае переименуйте файл .conf.disabled в .conf.

Альтернатива: в большинстве случаев вы также можете просто использовать certbot для получения сертификата в сценарии точки входа.