我们想要做的是能够与现有的HTTPS / TLS 1.2服务(群集外部)进行通信,该服务来自群集内部署的服务。 swarm内部运行的服务已从处理TLS 1.2连接/证书的JBoss实例中运行迁移。我的目标不是修改服务中的代码(当前使用标准spring RestTemplate)以专门加载证书,而是以某种方式外部化/代理TLS 1.2连接。可以使用哪些选项来执行此类操作?有什么建议吗?
我查找/发现的大多数帖子都涉及将TLS从外部来源应用于docker / swarm中的服务,或者修改spring RestTemplate以加载用于进行外部调用的证书。我们有很多要迁移的服务,所以我希望有一种更通用的方法来实现这一目标。谢谢
答案 0 :(得分:1)
Spring应用程序前面的代理服务是否可以为您运行所有必需的证书和协议,然后将HTTP连接发送回覆盖网络上的应用程序?他们都将在同一群中。
有几个不错的反向代理,它们支持Docker Swarm API,包括Traefik和Docker Flow Proxy。我演示了一个简单的设置,将Traefik放在many services on a single Swarm at DockerCon 2018前面,并使用“让我们加密”获取HTTPS证书并充当多个入站DNS URL的连接点,所有这些URL都被重定向到基于侦听Swarm事件的代理的适当Swarm VIP。 The sample repo is here。