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

Создание или обновление сертификата letsencrypt certbot для сервера nginx с балансировкой нагрузки в Digital Ocean

Кто-нибудь знает, как это сделать? Возможно ли это вообще.

Я следил за этим Учебник по цифровому океану который работает, но не содержит информации о том, как применить это в реальном сценарии с более чем одним доменом и несколькими приложениями.

Я знаю, как создавать и обновлять сертификаты с помощью certbot. Но ни то, ни другое не работает, когда IP-адрес проходит через балансировщик нагрузки.

Изменение каждого IP-адреса с балансировщика нагрузки на сервер nginx, обновление, а затем изменение нагрузки IP-адресов обратно на балансировщик нагрузки и копирование и вставка содержимого сертификатов не представляется практичным. Есть ли лучшее решение?

Редактировать. Вместо изменения IP-адреса можно просто отсоединить все серверы nginx, кроме одного, от балансировщика нагрузки, а затем обновить его на этой капле. Однако Certbot должен быть последней версии. С установкой certbot с 2016 года это не сработало.

Дополнительная проблема. После подключения другого сервера nginx обратно к балансировщику нагрузки сертификаты придется скопировать вручную.

Присоединение сертификатов к самому балансировщику нагрузки также выполняется вручную, и может быть только один сертификат для пересылки с 443 на 80.

Как указал @ceejayoz

В таких ситуациях Let's Encrypt поддерживает запрос / аутентификацию на основе DNS.

Вы должны использовать функцию DNS certbot. Для этого потребуется добавить новую запись TXT в записи DNS, которые certbot затем будет проверять против. Это устраняет необходимость отправлять HTTP-запросы на машины с балансировкой нагрузки.

В качестве альтернативы вы можете настроить одну и ту же задачу на всех системах LB, чтобы независимо от того, на каком хосте certbot клиент проверяет против, он получает ответ. Это явно не сработает, если у вас certbot делать standalone Режим.