2017-07-31 80 views
0

我一直在研究Azure服务结构开发,并且我已经成功地在Java中创建了一些测试HTTP无状态服务应用程序。现在我想以HTTPS的形式使用加密的api服务器通信,但是我找不到在Service Fabric环境中如何设置此类服务器的任何信息。Azure服务结构Java SSL/HTTPS服务器

在我的HTTP应用程序我一直在使用com.sun.net.httpserver.HttpServer类,当我住进了HttpsServer类我无法弄清楚我怎么能拿保存到应用程序的证书,以便能够与HttpsServer类中使用。所有使用HttpsServer的示例应用程序似乎都是从磁盘读取证书文件,而据我所知,这在ServiceFabric环境中是不可能的。

那么在Java Service Fabric Stateless-Service应用程序中设置HTTPS服务器的正确方法是什么?

回答

1

您可以使用ARM模板将certificates部署到群集节点。

或者: 您也可以为此使用dotnet核心和Kestrel。这里有一些开始的链接。

Github

Channel9 Video

Blog

您也可以选择运行像NodeJSFlask Web服务器作为服务布料将container

+0

您能否指出一些有关如何在本地开发群集上使用ARM的参考?另外从哪里以及如何从我的Java代码加载SSL证书,以便在通过ARM模板将其设置为集群后,可以将它传递给HttpsServer对象? –

+0

只能在Azure/Azure堆栈上使用ARM。在您的开发群集(您的开发机器)上,您可以使用磁盘中的证书(与任何其他本地应用程序的工作方式相同),因为所有节点都在一台机器上运行。 – LoekD

+0

好的,谢谢你的信息。再提一个问题;当我使用ARM模板从KeyVault部署证书时,证书在生产环境中(在Azure中)在哪里进行?最重要的是,当集群在Azure中运行时,如何在运行时从Java应用程序访问证书?证书是否可以在群集机器上的某个标准位置上使用,我的应用可以从中加载它? –