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