问题描述
我需要使用 DNS 解析器在 Kubernetes 中设置 akka-cluster(使用 Akka Classic)。我创建了一个无头服务,它能够为我的 Akka 应用程序的各种 pod 解析地址。 DNS 解析后,我可以获得各种 pod 的地址。现在我的 Akka-Management 运行在 Https 上,
因此,当一个 pod 尝试连接到各种其他 pod 的管理端点时,它需要使用“HTTPS”而不是“HTTP”,但 Akka 默认使用“http”。有没有办法在 Java 中修改这种行为
解决方法
是的,有:要启用 HTTPS,您必须通过向其提供 HttpsConnectionContext
对象来实例化您的服务器。
您可能应该执行以下操作:
Http.get(system).newServerAt("localhost",8080)
.enableHttps(createHttpsContext(system))
.bind(app.createRoute());
前面的示例取自 official documentation,它也展示了 createHttpsContext(system)
方法的工作原理。