Кто-нибудь знает, как это сделать? Возможно ли это вообще.
Я следил за этим Учебник по цифровому океану который работает, но не содержит информации о том, как применить это в реальном сценарии с более чем одним доменом и несколькими приложениями.
Я знаю, как создавать и обновлять сертификаты с помощью 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
Режим.