【问题标题】:A chicken and egg problem with Spring Cloud Config Client and Server when BOTH are mTLS enabled?当两者都启用 mTLS 时,Spring Cloud Config Client 和 Server 存在先有鸡还是先有蛋的问题?
【发布时间】:2021-01-20 15:48:50
【问题描述】:

关于 Spring Cloud Config Client 和 Server 的小问题,尤其是在两者都启用 mTLS 的情况下。

首先是服务器。在服务器端,由于他是第一个必须启动的服务器,因此服务器在属性文件中包含密钥库和信任库以及密码,以便启动 mTLS。

现在,客户。一开始选择 Spring Cloud Config 的原因是我们可以在 git、Vault 等中存储属性...

这样,客户端的属性文件应该是超轻量级的,足够连接服务器的信息,比如spring.config.import=optional:configserver:http://localhost:8888

但是,当在服务器端启用 mTLS 时,根据定义,客户端需要正确的密钥库和信任库(即存储在 Git、Vault 中)

我相信这是一个先有鸡还是先有蛋的问题,因为: 为了启动客户端,客户端需要通过连接到服务器从 Git、Vault 中检索密钥库和信任库以及密码。

但是为了连接到服务器,它需要密钥库和信任库以及密码。

目前,如果在客户端,基本属性文件有它可以工作

spring.config.import=optional:configserver:http://localhost:8888
server.ssl.key-alias=
server.ssl.key-password=
server.ssl.key-store-password=
server.ssl.key-store-provider=
server.ssl.key-store-type=
server.ssl.key-store=
server.ssl.trust-store-password=
server.ssl.trust-store-provider=
server.ssl.trust-store-type=
server.ssl.trust-store=

但这有点违背了 Spring Cloud Config 的目的,因为大多数属性仍在属性文件中。

实现客户端只需拥有服务器位置以及所有其他信息(例如密钥库和信任库以及密码)仍保留在 Git、Vault 等中的正确方法是什么?

谢谢

【问题讨论】:

    标签: java spring-cloud-config


    【解决方案1】:

    对于 Spring Team 来说,无能为力。

    https://github.com/spring-cloud/spring-cloud-config/issues/1867

    【讨论】:

      猜你喜欢
      • 2011-01-05
      • 1970-01-01
      • 2021-04-13
      • 2011-01-16
      • 1970-01-01
      • 2016-09-15
      • 2020-05-18
      • 2020-06-03
      • 2016-10-24
      相关资源
      最近更新 更多