【问题标题】:Spring Boot REST service HTTPS in multiple server instance多个服务器实例中的 Spring Boot REST 服务 HTTPS
【发布时间】:2021-04-07 18:55:52
【问题描述】:

我正在使用 Spring Boot 来创建微服务。我需要配置 SSL 以便保护服务。我可以使用以下属性来做到这一点,

server.port=8443
server.ssl.key-alias=myKey
server.ssl.key-password=changeit
server.ssl.key-store=classpath:ssl-server.jks

但是springboot jar会放在两个服务器实例中。我们有一个环境的两个实例。因此,例如,我将分别拥有两个证书。在这种情况下,我无法对密钥库文件进行硬编码,因为文件名不同。

我能想到以下任何一种:

具有相同的证书名称并在 application.properties 中引用它或 我需要通过如下参数传递键的这个值,

java -jar -Dcertificate.path=/etc/instance1.jks myspringboot.jar

server.ssl.key-store=${certificate.path}

最好的方法是什么?

【问题讨论】:

    标签: java spring-boot ssl https


    【解决方案1】:

    您可以将环境变量用于所有类似的细节。像SERVER_SSL_KEY_STORE 这样的环境变量在运行时将具有更高的优先级。如果您需要将值存储到某个安全存储中,可以使用 spring vault。

    【讨论】:

      【解决方案2】:

      【讨论】:

        猜你喜欢
        • 2018-12-28
        • 2021-03-01
        • 2015-02-20
        • 2019-02-01
        • 2021-03-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-10-08
        相关资源
        最近更新 更多