在 Azure App Service 中添加SSL证书
您现在已准备好将证书上传到应用服务。
在Azure 门户中,从左侧菜单中选择应用服务> 。
从应用的左侧导航中,选择TLS/SSL 设置>私钥证书 (.pfx) >上传证书。
在PFX Certificate File中,选择您的 PFX 文件(下载的ZIP文件解压后,位于IIS/目录下)。在Certificate password中,键入您在下载zip文件导出 PFX 文件时的密码(我们系统默认是password)。完成后,点击上传。
操作完成后,您会在Private Key Certificates列表中看到该证书。
创建绑定
使用下表帮助您在TLS/SSL 绑定对话框中配置 TLS 绑定,然后单击添加绑定。
环境 | 描述 |
---|---|
自定义域 | 要为其添加 TLS/SSL 绑定的域名。 |
私人证书指纹 | 要绑定的证书。 |
TLS/SSL 类型 |
|
操作完成后,自定义域的 TLS/SSL 状态将更改为Secure。
笔记
自定义域中的安全状态意味着它受到证书的保护,但应用服务不会检查证书是自签名还是过期,例如,这也可能导致浏览器显示错误或警告。
IP SSL 的重新映射记录
如果您未在应用程序中使用 IP SSL,请跳至为您的自定义域测试 HTTPS。
您可能需要进行两项更改:
-
默认情况下,您的应用程序使用共享的公共 IP 地址。当您将证书与 IP SSL 绑定时,应用服务会为您的应用创建一个新的专用 IP 地址。如果您将 A 记录映射到您的应用程序,请使用这个新的专用 IP 地址更新您的域注册表。
您的应用的自定义域页面将使用新的专用 IP 地址进行更新。复制此 IP 地址,然后将 A 记录重新映射到此新 IP 地址。
-
如果您有 SNI SSL 绑定到
.azurewebsites.net
,请重新映射任何 CNAME 映射以指向sni..azurewebsites.net
(添加sni
前缀)。
测试 HTTPS
在各种浏览器中,浏览以https://
验证它是否为您的应用程序提供服务。
您的应用程序代码可以通过“x-appservice-proto”标头检查协议。标头的值为http
or https
。
笔记
如果您的应用程序出现证书验证错误,则您可能使用的是自签名证书。
如果不是这种情况,您可能在将证书导出到 PFX 文件时遗漏了中间证书。
防止 IP 更改
删除绑定时,您的入站 IP 地址可能会更改,即使该绑定是 IP SSL。当您更新已经在 IP SSL 绑定中的证书时,这一点尤其重要。为避免更改应用的 IP 地址,请按顺序执行以下步骤:
- 上传新证书。
- 将新证书绑定到您想要的自定义域,而不删除旧证书。此操作替换绑定而不是删除旧绑定。
- 删除旧证书。
强制 HTTPS
默认情况下,任何人仍然可以使用 HTTP 访问您的应用程序。您可以将所有 HTTP 请求重定向到 HTTPS 端口。
在您的应用页面的左侧导航中,选择TLS/SSL 设置。然后,在HTTPS Only中,选择On。
操作完成后,导航到指向您的应用程序的任何 HTTP URL。例如:
http://.azurewebsites.net
http://contoso.com
http://www.contoso.com
强制实施 TLS 版本
您的应用默认允许TLS 1.2,这是行业标准(例如PCI DSS )推荐的 TLS 级别。要强制实施不同的 TLS 版本,请执行以下步骤:
在您的应用页面的左侧导航中,选择TLS/SSL 设置。然后,在TLS 版本中,选择您想要的最低 TLS 版本。此设置仅控制入站呼叫。
操作完成后,您的应用会拒绝所有具有较低 TLS 版本的连接。