如何使用Java / Tomcat在Azure上设置SSL

时间:2012-09-12 12:46:15

标签: java tomcat ssl azure

我们正在使用辅助角色来托管在天蓝色包中基本上是Tompact和App代码的Java应用程序。

我们希望能够设置SSL而无需以类似于.Net方面的方式将证书烘焙到应用程序包中,您可以在证书库中引用证书。

如何实现这一目标?

我已阅读此博文http://blogs.msdn.com/b/avkashchauhan/archive/2010/11/07/adding-ssl-https-security-with-tomcat-java-solution-in-windows-azure.aspx,其中指出我们需要从证书创建一个keystore.bin文件并将其包含在软件包中。

问题是,在将代码推广到具有不同证书等的多个环境时,以及从证书到期等管理角度来看,我不想将证书烘焙到软件包中以便于管理。

由于 阿米特

1 个答案:

答案 0 :(得分:0)

关键是您希望如何将Azure VM中的证书配置并由Tomcat使用。另一个关键问题是Tomcat / Java不使用标准Windows CertStore作为证书,而是使用密钥库(Java运行时的扩展部分),因此如果您不在Windows Azure Package中使用密钥库配置,那么您需要在运行期间创建Windows Azure VM配置。

虽然其他人可能有不同的想法,但我可以提出以下解决方案:

  1. 您需要在此时完成Tomcat安装,您可以使用Azure打包tomcat 包或您需要通过启动任务下载并安装Tomcat
  2. 将证书文件放在Windows Azure存储(或Internet上的其他位置)
  3. 创建启动任务以从Windows Azure存储或下载位置下载证书
  4. 将证书下载到本地计算机后,在启动任务中的Azure VM中运行相同的命令以构建密钥库,并确保创建密钥库,以便tomcat查看它。
  5. 这样,当Tomcat启动时,它知道在哪里查找密钥存储并正确配置端点。
  6. 还有另一种方法是将整个Tomcat设置与密钥库等一起放在Windows Azure存储中,并通过启动任务下载并在Azure VM中进行设置。我已在此blog中描述了此过程以及示例源。

    在上述两种方式中,只要您想要更改Tomcat /证书,只需在下载位置更新软件包,然后重新映像/重新启动Azure VM,您将使用新代码更新VM并且您真的不知道不需要重新创建Windows Azure包。