SpringBoot - перезагрузите SSL-сертификат, используя Spring Cloud Config - PullRequest
0 голосов
/ 28 сентября 2019

Я изучаю использование SSL-сертификатов с Spring Boot.Специально с использованием Let's Encrypt.

Срок их действия истекает через 3 месяца, поэтому их следует обновлять, и, насколько я знаю, при обновлении сертификата нам нужно перезапустить приложение Spring Boot, чтобывместо этого загрузите новый.

Некоторое время назад я играл с Eureka и Zuul Gateway, чтобы разрабатывать микросервисы ... И я помню, я также установил git-репо для использования в качестве Spring CloudConfig.Я плохо помню, я думаю, что мы можем использовать Spring Cloud Config без использования арки микросервиса.

Поэтому мой вопрос: можем ли мы использовать этот Spring Cloud Config механизм, который перезагружает свойства перезагрузить сертификат SSL ?Идея состояла бы в том, чтобы запустить механизм перезагрузки свойств, и, поскольку ssl настроен через эти свойства, я думаю, что, возможно, его можно будет перезагрузить.

Я планирую автоматизировать процесс получения и обновленияДавайте зашифруем сертификат и избежим простоев в моем приложении.

С уважением!

1 Ответ

1 голос
/ 28 сентября 2019

SSL-сертификаты применяются на уровне JVM - ни Spring Boot, ни Spring Cloud Config не имеют никакого контроля над этим, поэтому для применения нового сертификата потребуется перезапуск экземпляра JVM, в котором работает ваше приложение, поскольку вы обновиливаше хранилище ключей.Возможность динамического добавления сертификатов без выключения JVM была бы серьезным недостатком безопасности.

В экосистеме AWS идея состоит в том, что если вы когда-либо выключите свою виртуальную машину, вы потеряете ее и ее содержимое.это ушло навсегда.С помощью Spring Cloud (Config, Zuul, Eureka) вы можете раскрутить виртуальные машины, которые зарегистрированы в Eureka через Config, а Zuul использует информацию в Eureka для балансировки нагрузки.Таким образом, способ сделать это состоит в том, чтобы вы раскрутили другую виртуальную машину с помощью экземпляра Spring Boot с обновленным сертификатом и уничтожили более старую виртуальную машину, которая испаряется благодаря AWS, а Zuul позаботился о грязной работе «обратного веба».прокси ", перенаправляя запросы на новый веб-сервер по мере необходимости.

Банк червей, открываемых вами по этому маршруту, состоит в том, что теперь вам нужно внедрить 4 сервера и VPN для их поддержки, ваш сервер Zuul становитсяцель внешних веб-запросов, и вам, возможно, потребуется изучить шаблон «прерывателя цепи» для обработки сбоев HTTP-запросов - Hystrix - это следующая вещь, которую нужно рассмотреть.

В Digital Ocean я неуверен, что вам, возможно, придется поступить иначе, но перезапуск JVM неизбежен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...