HTTPS加速

HTTPS加速说明

  • 支持泛域名的HTTPS加速。
  • 支持的加速类型为标准版和标准版Plus的CDN加速类型,如网页加速,下载加速,点播加速,图片处理加速和直播加速。
  • 支持用户选择回源协议类型, 如HTTP回源,HTTPS回源,或者协议跟随。
  • 支持将HTTP请求强制跳转成HTTPS请求。
  • 支持中国大陆区域加速,海外加速(或全球加速)。

证书使用前提条件

  • 用户将HTTPS证书托管在Azure KeyVault(密钥保管库)中,Azure CDN需要用户创建Azure Active Directory(简称AAD)应用,并通过AAD应用来获取访问密钥保管库中的HTTPS证书。请参考配置密钥保管库进行密钥保管库可配置,并保存以下信息,用于配置密钥保管库。

    • 密钥保管库的DNS名称
    • Azure Active Directory 应用程序(客户端)ID
    • Azure Active Directory 应用程序(客户端)密码
  • 目前用户可通过两种方式进行配置密钥保管库

    1. 使用Azure CDN提供的PowerShell脚本配置密钥保管库
    2. 在Azure portal手动配置密钥保管库
  • 进入CDN管理门户,在证书管理页面,进行密钥保管库配置,步骤如下:

    a. 点击“添加一张SSL证书”,点击“配置”,进入到配置管理页面。

    b. 根据配置密钥保管库时保存的以下信息,填写到密钥保管库配置界面,点击“保存”。

    • 密钥保管库DNS名称
    • Azure Active Directory 应用程序(客户端)ID
    • Azure Active Directory 应用程序(客户端)密码

    c. 保存成功后,可以点击“证书管理”,返回到证书管理页面进行操作。

证书说明

  • 用户自有证书的HTTPS加速是基于SNI技术实现的,SNI证书允许多个HTTPS客户共享同一个IP地址。

    重要

    SNI证书不支持Windwos XP系统下所有的IE版本,浏览器会提示不受信任。

  • 开启HTTPS加速后,需要上传加速域名的证书和私钥,证书和域名、证书和私钥需要匹配,否则会校验出错。

    重要

    证书有效期少于45天,不支持证书和域名绑定;证书有效期少于60天,不支持上传。

  • 支持看证书信息,但不支持证书下载,也不支持秘钥查看,请保管好证书相关信息。

  • 支持证书链。证书链的单个PEM文件需按以下顺序包含多个证书: 公共证书, 中间证书, 根证书。各证书分别以-----BEGIN CERTIFICATE----------END CERTIFICATE----- 开头结尾。

证书格式说明

  • 证书格式为PEM格式,并支持PFX格式,暂不支持其他格式的证书,需将其他格式的证书转换成PEM格式,可以通过openssl工具进行转换。请参考下文“常见证书格式转换”。

  • 证书以 -----BEGIN CERTIFICATE----------END CERTIFICATE----- 开头结尾。

  • 秘钥目前支持PKCS1和PKCS8编码格式,PKCS1编码的私钥格式为 -----BEGIN RSA PRIVATE KEY-----开始,并以 -----END RSA PRIVATE KEY-----结束;PKCS8编码的私钥是以 -----BEGIN PRIVATE KEY----------END PRIVATE KEY----- 开头结尾。

    重要

    可以使用openssl工具对秘钥编码格式进行转换,例如:

    openssl.exe pkcs8 -topk8 -inform PEM -outform PEM -in yourkeyfile.key -out yourconverted.key -nocrypt 
    

常见证书格式转换

DER格式转换为PEM

  • 证书转换

    openssl x509 -in cert.der -inform DER -out cert.pem -outform PEM
    
  • 私钥转换

    openssl rsa -in privagekey.der -inform DER -out privatekey.pem -outform PEM
    

自助式启用HTTPS加速步骤

当密钥保管库配置好后,需要在Azure CDN管理界面启用HTTPS服务,上传PEM或PFK格式证书,或者使用密钥保管库中已存在的证书。

可以为所有符合条件的CDN域名开启自有证书的HTTPS加速(付费账号下所有的标准版加速类型的CDN域名)。

  • 如果需要在“Azure门户”中新建CDN Profile和终结点,并且启用自有证书的HTTPS加速,Pricing Tier请选择“S1 Standard”。

    • "S1 Standard"即标准版CDN,支持静态内容加速,包括网页加速,下载加速,点播加速,图像处理。
    • "P1 Standard Plus"是标准版Plus,指直播加速。

  1. 点击Manage进入Azure CDN管理门户。

    Azure门户中的CDN profile界面:

    Azure CDN管理门户界面:

  2. 上传证书:点击证书管理,点击“添加一张SSL证书”。

    备注

    如果您尚未配置密钥保管库用于存储证书信息,请参考配置密钥保管库进行密钥保管库配置。

    在证书管理界面,请直接输入证书名称,便于分辨证书。上传需要启用HTTPS服务的域名证书,注意证书必须是PEM格式,密钥目前只支持RSA PKCS8编码格式。具体证书格式转换请参考上文的“证书说明”。

    重要

    证书上传后,需要到“证书管理”界面或"域名管理"界面,将证书和域名进行绑定,证书才会进行部署。证书有效期少于60天,不支持上传。

  • 如果您已配置密钥保管库用于存储证书信息,请直接上传证书。

    重要

    证书有效期少于45天,不支持证书和域名绑定;

用户可以通过以下3种方式之一,进行证书和域名的绑定:

  1. 可以直接在证书管理处上传证书时选择要绑定的域名;

  2. 也可以上传证书后,在证书管理页面,选择证书,点击“编辑绑定”-> “添加绑定域名”;

  3. 或者点击域名管理,选择需要启用HTTPS服务的域名,在右侧界面选择“HTTPS(客户提供证书)”,点击“启用”绑定一张证书,从上传证书下拉列表框中选择已上传的证书,点击确定。如果没有符合的证书,点击证书管理,参考步骤2上传证书。

  4. 证书部署:绑定域名后,系统会提示“证书正在部署中,生效时间一般为2-4小时,如果超过24小时部署仍未完成,请联系工作人员。

  5. 可以设置回源方式以及强制跳转HTTPS,点击保存。

  6. 域名绑定成功后,系统会提示“证书绑定成功,可以通过HTTPS访问该加速域名”,并看到证书详情。同时该域名的“HTTPS状态(客户提供证书)”变为”活动“。

    • 点击该域名,可以查看证书信息。

    • 域名“HTTPS状态(客户提供证书)”变为“活动”。

    • “证书管理”处,该证书绑定域名数也会变化。

  7. 查看证书详情:点击证书管理处任一证书,查看证书详情,和所绑定域名信息。

  8. 查看是否生效:通过HTTPS访问域名,可以看到带小锁的标志,点击查看是否证书已经部署完成。

更换证书和删除证书

删除证书

删除证书需在证书管理处进行删除。选中需要删除的证书,在右边的窗口中点击删除。

重要

已有域名绑定的证书,需要将证书和域名解绑,然后才能删除证书,否则会出现需要将证书删除的弹框。可以通过为域名更换证书,或者直接将域名删除的方式。更换证书请参考更换证书部分。

更换证书

如果证书即将过期或者证书已经过期,可以上传新的有效证书,并到域名管理处对相应域名进行更换证书操作。

  • 选中需更换证书的域名,HTTPS(客户提供证书),更换证书:

  • 选择需要更换的证书,可以设置回源方式以及强制跳转HTTPS,点击保存。

  • 重复自助式启用HTTPS加速步骤中的4,5,6,7步骤。

加速区域 全球加速

启用海外加速全球加速

选择"加速区域",启用海外或者启用全球加速(全球加速包括中国大陆和海外加速),点击保存

重要

启用海外加速后,大概需要1个小时生效。

查看海外加速是否已经生效

在域名管理中查看列表,加速类型是否已经包含海外加速

查看海外计费方式

在Overview页面中查看计费方式,是否已经包含海外加速

配置密钥保管库

您可以使用以下两种方式创建密钥保管库和Azure Active Directory应用注册。

  • 使用Azure CDN提供的PowerShell脚本,适用于Windows用户。

  • 在Azure站点手动创建,适用于所有用户。

    请注意保存以下信息:

    • 密钥保管库DNS名称
    • Azure Active Directory应用程序(客户端)ID
    • Azure Active Directory应用程序(客户端)密码

1. 使用AzureCDN提供的PowerShell脚本配置密钥保管库

  1. GitHub下载所有文件到本地某个目录下,比如C:\Download

  2. 可以以管理员权限选择如下任意一种方式运行所需的脚本:

    • 运行"OneClick_SetupKeyVault.cmd"文件:建议的方式。使用默认参数一键完成配置。
    • 运行"OneClick_SetupKeyVault.ps1"文件:有特殊需要的用户使用。可以指定Azure订阅号、资源组、密钥保管库名和AAD应用程序名来完成配置。
  3. 如果电脑出现以下信息,请点击"更多信息",点击运行(Run Anyway)。

  4. 请按照提示来确认运行脚本

  5. 若相应的运行时没安装,请按照以下步骤安装运行时库: a. 输入Y,允许安装运行脚本需要的运行时库。

    b. 请输入Y,同样是允许安装运行脚本需要的运行时库。

    c. 正在安装运行脚本需要的运行时(runtime)库,大概等待5-10分钟。

  6. 安装运行时库完成,请在弹出的对话框中输入Azure账号和密码,点击确定。

  7. 得到如下截图信息,请保存KeyVault(密钥保管库DNS名称),AAD Application ClientId (Azure Active Directory客户端ID)和AAD Application ClientSecret(Azure Active Directory密码)的值。

2. 在Azure portal手动配置密钥保管库

创建Azure Active Directory用于密钥保管库的权限控制

  1. 访问Azure站点https://portal.azure.cn/,进入Azure Active Directory

  2. 点击“App registrations”及“新注册”。

  3. 为您的应用程序输入一个有意义的名称(例如:MyKeyVaultAADApp);在“受支持的账户类型”中选择相应账户,如不了解账户类型,请点击“帮我选择..."了解不同账户类型。

  4. 重定向URI(可选):可选择输入任何有效的URI(例如:https://mykeyvaultaadaap/),并点击“注册”。此处也可留白。

  5. 对“应用程序(客户端)ID”值进行复制。

  6. 点击左侧“证书和密码”,在客户端密码处点击“进客户端密码”。

  7. 在添加客户端密码页面中,“说明”处填写内容(也可留白),“截止期限”选择“从不”,点击“添加”。

  8. 客户端密码值添加完成。页面中“值”处显示密码值,点击“复制”对密码进行保存。请注意离开此边栏选项卡后,将无法检索它。

手动创建密钥保管库

  1. 点击创建资源,在搜索框输入“key vault”,并回车。

  2. 选择Key Vault,并点击创建。

  3. 输入有意义的密钥保管库名称(例如:MyCertificateKeyVault)、订阅、资源组和位置之后点击创建。

  4. 进入您创建的密钥保管库,复制并记录DNS名称。

    重要

    请注意保存密钥保管库的DNS名称

为密钥保管库配置Azure Active Directory访问策略

  1. 点击访问策略,然后点击“添加访问策略”。

  2. 点击"选择主体",在选择输入框输入您的Azure Active Directory应用程序名称(也可下拉选择),选择好您的Azure Active Directory应用程序,点击“选择”。

  3. 为机密权限选择获取和列出,为证书权限选择获取、列出、创建和导入,点击确定。这是CDN能正确获取证书并进行后续配置的最小权限。

  4. 点击保存。

价格说明

自有证书的HTTPS加速,使用标准版服务价格,具体计费方式请参见Azure官方网站