NOTE: 本文由 赤石俊哉 撰写,转载时请注明出处。 linux
获取证书的方式有两种,一种是经过使用现有域名,向权威的 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
的参数,若是你没有修改,则是默认的 LocalMachine
和My
。
点选指纹格后面的 ...
按钮,找到刚刚咱们建立的证书的名字,指纹就会被自动填入表格。
导航到端点
选项卡,点选添加端点
,一样也会在配置表格中添加一行,名称仍是随意,类型选择 Input
,协议选择 https
,公用端口选择 443
,固然你也能够用其余端口,443
是 https
的默认端口。专用端口能够留空,SSL 证书名称
则对应上一步咱们添加的证书那个随便起的名字。
至此,你就完成了全部的步骤,能够部署到测试环境测试一下 https
是否已经生效了,