Не удается загрузить хранилище ключей из системной среды - PullRequest
0 голосов
/ 07 июня 2019

У меня есть простое приложение весенней загрузки, работающее по HTTPS с включенным SSL

application.properties

server.port=8443
server.ssl.key-store=${SERVER_KEYSTORE}
server.ssl.key-store-password=${SERVER_KEYSTORE_PASSWORD}

, где SERVER_KEYSTORE и SERVER_KEYSTORE_PASSWORD - системные переменные env

Я генерирую jar, используя mvn clean package, а затем запускаю исполняемый файл jar. Но я получаю следующую ошибку

***************************
APPLICATION FAILED TO START
***************************

Description:

The Tomcat connector configured to listen on port 8444 failed to start. The port may already be in use or the connector may be misconfigured.

Action:

Verify the connector's configuration, identify and stop any process that's listening on port 8444, or configure this application to listen on another port.

Я подтвердил, что порт 8443 не используется ни одним приложением.

Теперь, когда я переписываю application.properties как

server.port=8443
server.ssl.key-store=/etc/ssl.keystore
server.ssl.key-store-password=secret

Приложение работает нормально на порту 8443 с HTTPS. Но я не хочу, чтобы путь и пароль были частью моей кодовой базы.

Я даже пытался указать полный путь к файлу env как

server.ssl.key-store=/etc/environment/${SERVER_KEYSTORE}
server.ssl.key-store-password=/etc/environment/${SERVER_KEYSTORE_PASSWORD}

По-прежнему выдает ту же ошибку

Некоторая помощь будет высоко оценена. Спасибо

Ответы [ 2 ]

2 голосов
/ 07 июня 2019

Следующая ошибка ясно говорит о том, что tomcat не может работать на порте 8444.Если вы хотите проверить, откройте командную строку и введите команду netstat -a.Это даст вам, какие порты уже заняты.Вы можете работать в разных портах, таких как 8090, 8091 и т. Д. Кроме того, если вы хотите узнать больше деталей, запустите весеннюю загрузку в режиме отладки, используя ваш ide.

Разъем Tomcat, настроенный для прослушивания через порт 8444не смог начать.Возможно, порт уже используется или разъем неправильно настроен.

1 голос
/ 07 июня 2019

Так что, я думаю, ваш вопрос заключается в том, как прочитать свойства env в приложении Spring.properties.Попробуйте это: https://docs.spring.io/spring-boot/docs/2.1.0.BUILD-SNAPSHOT/maven-plugin/examples/run-env-variables.html

...