为 Azure 云服务(经典)配置SSL

为 Azure 云服务(经典)配置SSL

NOTE: 本文由 赤石俊哉 撰写,转载时请注明出处。 linux

参考:
Microsoft Azure - Azure 云服务证书概述
在 Azure 中为应用程序配置 SSLjson

获取证书

获取证书的方式有两种,一种是经过使用现有域名,向权威的 CA 机构申请证书。另外一种则是自签名证书。自签名证书具备较差的安全性,并且也会被浏览器标示为不安全的链接,因此建议使用第三方 CA 颁发的证书用于产品环境。自签名证书仅用于测试。
这里咱们不介绍第一种方式,就自签名证书的方法进行描述。app

建立自签名证书

引用: dom

可使用任何可用工具建立自签名的证书,只要它们符合这些设置:ssh

  • X.509 证书。
  • 包含私钥。
  • 为密钥交换(.pfx 文件)而建立。
  • 使用者名称必须与用于访问云服务的域匹配。工具

    没法获取 cloudapp.net 域(或与 Azure 相关的任何域)的 SSL 证书;该证书的使用者名称必须与用于访问应用程序的自定义域名匹配。 例如,contoso.net,而不是 contoso.cloudapp.net。
  • 至少为 2048 位加密。
  • 仅服务证书:客户端证书必须驻留在我的证书存储区。

使用 PowerShell 运行下面的命令便可建立自签名证书测试

$cert = New-SelfSignedCertificate -DnsName yourdomain.cloudapp.net -CertStoreLocation "cert:\LocalMachine\My"
$password = ConvertTo-SecureString -String "your-password" -Force -AsPlainText
Export-PfxCertificate -Cert $cert -FilePath ".\my-cert-file.pfx" -Password $password

yourdomain.cloudapp.net替换成你的域名,若是但愿用于某一个 IP 地址而不是域名,能够将它替换成对应的 IP 地址。
your-password替换成你的密码。
.\my-cert-file.pfx替换成证书文件导出的本地位置。加密

在 Linux 中生成秘钥对的方法能够参考Microsoft Azure - 如何建立和使用适用于 Azure 中 Linux VM 的 SSH 公钥和私钥对

云服务项目设置

在 Visual Studio 中打开云服务项目,从角色中找到你须要添加 SSL 的 Web 角色,双击会打开配置。

NOTE:
若是你但愿从 cscfg 配置文件中直接修改,能够参考原文,本文使用 Visual Studio 图形界面进行配置。
原文地址:在 Azure 中为应用程序配置 SSL

添加证书

导航到证书选项卡,点选添加证书,会在配置表格中添加一行,名称能够随便起一个,存储位置和存储名称对应上面 PowerShell 命令中的 -CertStoreLocation 的参数,若是你没有修改,则是默认的 LocalMachineMy
点选指纹格后面的 ... 按钮,找到刚刚咱们建立的证书的名字,指纹就会被自动填入表格。

添加 https 端点

导航到端点选项卡,点选添加端点,一样也会在配置表格中添加一行,名称仍是随意,类型选择 Input,协议选择 https,公用端口选择 443,固然你也能够用其余端口,443https 的默认端口。专用端口能够留空,SSL 证书名称则对应上一步咱们添加的证书那个随便起的名字。

测试

至此,你就完成了全部的步骤,能够部署到测试环境测试一下 https 是否已经生效了,

相关文章
相关标签/搜索