java spring server_java – 为生产配置Spring Cloud Config Server和Spring Cloud Vault

正如我在回答spensergibb时提到的那样,我自己解决了这个问题.根据他的评论,我将澄清我的意图,因为这将有助于对该问题的共同理解.我试图做两件事: –

>站起一个使用Vault作为后端的配置服务器(与默认的GIT后端相对),并将Vault API暴露给客户端应用程序(通过TLS),以便他们可以检索自己的秘密.我不希望我的所有客户端应用程序直接连接到Vault.我希望他们通过让配置服务器连接到Vault来从配置服务器获取配置.直到昨晚我都无法实现这一目标,除非我将所有内容设置为默认情况下禁用TLS并使用环回地址,端口8200用于Vault软件等.显然默认设置对于我们任何部署的环境都不实用.我会提到spencergibb发布的链接确实帮助我理解为什么这不起作用,但原因的微妙之处在于我之前错过了它.请继续阅读我的解释.

>我希望配置服务器直接从Vault配置自己.也就是说,通过Spring Cloud Vault Config连接到Vault.如文档中所述,这对我来说很有效.然而,这个目标有点微不足道,因为我目前没有真正的用例.但我想知道是否可以这样做,因为我没有找到真正的原因,这似乎是整合Vault的第一步.

这两种功能之间的区别帮助我理解问题源于Spring Cloud Config Server和Spring Cloud Vault似乎使用两个不同的bean来注入Vault配置属性. Spring Cloud Config Server使用带有@ConfigurationProperties(“spring.cloud.config.server.vault”)注释的VaultEnvironmentRepository,Spring Cloud Vault使用带有@ConfigurationProperties(“spring.cloud.vault”)注释的VaultProperties.

这导致我为我的bootstrap yml添加了两个不同的配置.

server:

port: 8888

spring:

profiles:

active: local, vault

application:

name: quoting-domain-configuration-server

cloud:

vault:

host: VDDP03P-49A26EF.lm.lmig.com

port: 8200

scheme: https

authentication: TOKEN

token: 0f1997c3-d8a8-befd-a5a2-01e4e066c50a

ssl:

trust-store: configTrustStore.jks

trust-store-password: changeit

config:

server:

vault:

host: VDDP03P-49A26EF.lm.lmig.com

port: 8200

scheme: https

authentication: TOKEN

token: 0f1997c3-d8a8-befd-a5a2-01e4e066c50a

请注意相同的配置详细信息只是不同的yml路径.这是我错过的一个微妙点,因为我首先让目标1号首先工作,并假设相同的配置适用于这两个目标. (注意:令牌和密码是人为设计的).

这几乎可以工作,除了SSL握手错误.如您所见,spring.cloud.config.server.vault路径上没有设置SSL属性. VaultProperties bean不支持它们.我不知道如何处理这个问题(也许是另一个我找不到的非特定于库的特定bean).我的解决方案是简单地自己强制执行证书配置: –

@SpringBootApplication

@EnableConfigServer

public class Application

{

public static void main(String[] args)

{

System.setProperty("javax.net.ssl.trustStore",

Application.class.getResource("/configTrustStore.jks").getFile());

System.setProperty("javax.net.ssl.trustStorePassword", "changeit");

SpringApplication.run(Application.class, args);

}

}

这个SSL解决方案非常难看.我确信必须有更好的方法来完成这一部分.所以我愿意接受其他建议.但是,一旦我完成了上述所有步骤,现在一切正常

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值