Windows Azure Cloud Service (36) 在Azure Cloud Service配置SSL证书

时间:2023-03-08 15:33:38
Windows Azure Cloud Service (36) 在Azure Cloud Service配置SSL证书

  《Windows Azure Platform 系列文章目录

  在某些时候,我们需要在Azure PaaS Cloud Service配置HTTPS连接。本章将介绍如何在本地创建证书,然后使用HTTPS连接Azure Cloud Service。

  注意:我这里使用的是自签名证书,所以最后浏览器提示警告是很正常的。我们在实际使用中,需要从CA那边拿到签名的证书。

  1.创建证书

  以管理员身份运行CMD,使用Makecert命令,安装Azure证书。具体的命令如下:

makecert -sky exchange -r -n "CN=<CertificateName>" -pe -a sha1 -len 2048 -ss My "<CertificateName>.cer"

  比如我创建一个证书名叫SSLCertificate

makecert -sky exchange -r -n "CN=SSLCertificate" -pe -a sha1 -len 2048 -ss My "SSLCertificate.cer"

  

  2.导出私钥

  在运行里,输入mmc.exe

  在控制台,选择文件->添加删除管理单元,添加"证书",选择"我的用户账户"

  展开"证书-当前用户"->"个人"->"证书"。选择SSLCertificate,右键"所有任务",点击"导出"

  选择"是,导出私钥”,输入自己的私钥(本文使用123456)。然后将pfx保存到C盘的根目录,重命名为PrivateCertificate.pfx。

  3.创建空的Cloud Service

  在Windows Azure Portal,创建一个空的云服务,命名为LeiSSL。如下图:

  Windows Azure Cloud Service (36) 在Azure Cloud Service配置SSL证书

  4.点击Cloud Service,选择我在步骤三创建的LeiSSL,然后点击Certificates,最后选择Upload a certificate

  Windows Azure Cloud Service (36) 在Azure Cloud Service配置SSL证书

  

  上传完毕后,可以查看到ThumbPrint,如下图:

  Windows Azure Cloud Service (36) 在Azure Cloud Service配置SSL证书

  5.将我们保存在C:\PrivateCertificate.pfx的文件进行上传,同时输入你在步骤二里导出的私钥(123456)。如下图:

  Windows Azure Cloud Service (36) 在Azure Cloud Service配置SSL证书

  6.然后在本地,使用管理员身份,运行VS2013。创建一个Cloud Project,并且添加ASP.NET Web Role

  7.在项目文件里,选择WindowsAzure1,Role,双击WebRole1

  Windows Azure Cloud Service (36) 在Azure Cloud Service配置SSL证书

  

  8.在Certificates菜单栏,点击Add Certificate,将步骤4的Thumbprint输入到单元格中

  Windows Azure Cloud Service (36) 在Azure Cloud Service配置SSL证书

  

  9.再点击Endpoints菜单栏,点击Add Certificate,设置名称为HttpsEndpoint,Protocol设置为https,SSL Certificate Name选择我在步骤8中创建的Certificate1

  Windows Azure Cloud Service (36) 在Azure Cloud Service配置SSL证书

  10.设置完毕后,用VS2013发布Cloud Service

  关于发布的步骤,请参考[SDK2.2]Windows Azure Cloud Service (35) 使用VS2013发布Azure Cloud Service

  11.我们可以通过https://leissl.cloudapp.net:8080/ 来访问发布成功的应用程序

  Windows Azure Cloud Service (36) 在Azure Cloud Service配置SSL证书