【问题标题】:Cannot load keystore from system environment无法从系统环境加载密钥库
【发布时间】:2019-06-06 21:47:30
【问题描述】:

我有一个在启用 SSL 的 HTTPS 上运行的简单 Spring Boot 应用程序

application.properties

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

其中SERVER_KEYSTORESERVER_KEYSTORE_PASSWORD 是系统环境变量

我使用mvn clean package 生成jar,然后运行可执行文件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

应用程序使用 HTTPS 在端口 8443 上运行良好。但我不想在我的代码库中包含路径和密码部分。

我什至尝试将 env 文件的完整路径指定为

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

还是报同样的错误

我们将不胜感激。谢谢

【问题讨论】:

  • 当你的 props 文件显示 8443 时,我想知道为什么端口 8444 出现错误。
  • SERVER_KEYSTORESERVER_KEYSTORE_PASSWORD的值是多少?
  • 你说它适用于/etc/ssl.keystore,但不适用于/etc/environment/${SERVER_KEYSTORE}。好吧,这不是同一条路径,那么您为什么希望它适用于不同的路径呢?

标签: java spring-boot environment-variables


【解决方案1】:

以下错误清楚地表明tomcat无法在8444端口上进行统计。如果要验证,请打开命令提示符并键入命令 netstat -a。这将为您提供已占用的端口。您可以在不同的端口上运行,例如 8090、8091 等。此外,如果您想了解更多详细信息,请使用您的 ide 以 debug 模式启动 spring boot。

配置为侦听端口 8444 的 Tomcat 连接器失败 开始。端口可能已在使用中,或者连接器可能已使用 配置错误。

【讨论】:

  • netstat -a 没有列出端口。我已经确认端口上没有运行任何应用程序。当我将密钥库更改为实际值时,它可以工作。但是当我使用环境时,它不会。真令人沮丧。
【解决方案2】:

所以我猜你的问题是如何在 Spring application.properties 中读取环境属性。 试试这个:https://docs.spring.io/spring-boot/docs/2.1.0.BUILD-SNAPSHOT/maven-plugin/examples/run-env-variables.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多