Play Framework - Перезагрузить файл хранилища ключей - PullRequest
1 голос
/ 02 октября 2019

У меня есть сервер Play, настроенный с использованием SSL. Часть SSL application.conf:

play.server.https {
  port = 443
  keyStore {
    path = "/pathToKeystore"
    type = "JKS"
    password = "passwordHere"
  }
}

Поскольку я использую Let's Encrypt, мое хранилище ключей содержит ключ, срок действия которого истекает через 3 месяца. Прежде чем это произойдет, мне нужно создать новое хранилище ключей (с расширенным сроком действия) и перезаписать предыдущее. Однако сервер, похоже, читает новый файл только после его перезапуска. Это может привести к простою для конечного пользователя.

Есть ли способ настроить сервер для перезагрузки файла хранилища ключей без перезапуска?

1 Ответ

1 голос
/ 03 октября 2019

Как насчет чтения файла перед запуском вашего сервера. Чтобы сделать это, вам нужно добавить его как переменную окружения и передать его на сервер воспроизведения во время запуска

play.server.https {
  port = 443
  keyStore {
    path = ${PATH_TO_KEYSTORE}
    type = "JKS"
    password = ${PASSWORD_HERE}
  }
}

и передать его в игру следующим образом:

sbt run -DPATH_TO_KEYSTORE=actual_path -DPASSWORD_HERE=actual password

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

...