我在使用Docker容器部署我的应用程序Spring Boot应用程序时尝试解决技术问题。



/ deployments是我在dockerfile中配置的工作目录

我发现它在tmp / tomcat docbase上进行选择很奇怪,因为在配置其他信任库时,它将放置在正确的位置。这在我的application.yaml中

spring:
   kafka:
     bootstrap-servers:localhost:9092
     ssl:
       truststore-location: /deployments/app/certs/kafka-truststore.jks
       truststore-password: test
     consumer:
      group-id: consumerid
server:
   ssl:
    enabled: false
    key-store: /deployments/app/certs/dp--dev.jks
    key-store-password: changeit
    trust-store: /deployments/app/certs/ol-truststore-dev.jks
    trust-store-password: test

它是我缺少的东西还是与我正在使用的kafka springframework lib有关?

最佳答案

truststore的位置是Spring的Resource(默认为classpath:),因此它将在类路径中查找文件。引导会检查文件是否存在,因此我看不到它是如何顺利通过引导并传递给Kafka的(除非它也位于类路径中)。如果Boot认为还可以,Kafka也应该这样做。

试试file:/deployments/app/certs/kafka-truststore.jks

08-28 08:03