个人测试证书是阿里云为个人网站、开发测试或企业用户在建设初期提供的SSL证书,其证书类型及部署场景相对有限。相比之下,正式SSL证书涵盖多种类型和品牌,适用于不同规模的网站,包括但不限于电商、小型企业、大型企业及个人用户等。此外,正式SSL证书还包括通配符证书、多域名证书和混合域名证书,以满足不同业务需求,例如保护多个子域名或多个不同的域名。本文将以正式SSL证书部署到阿里云内容分发网络CDN为例,为您介绍正式证书购买、申请、签发以及安装流程。
前提条件
步骤一:购买正式SSL证书
登录数字证书管理服务控制台。
在左侧导航栏,选择。
在正式证书页签,单击购买证书。
参考下表完成购买参数配置。
配置项
说明
付费类型
选择证书数量购买。
证书数量
默认为1。表示购买一张证书。
域名类型
选择单域名。表示一张SSL证书绑定一个主域名、一个子域名或一个公网IP(IPv4)。例如example.com、1.1.X.X等。
证书类型
选择DV证书,即域名型证书,安全性一般,适用于个人网站、测试等。
证书品牌
选择Rapid品牌,价格便宜。
其他服务
选择不需要,即不需要技术支持服务。
说明更多关于正式证书购买配置说明,请参见购买正式证书。
在购买页右侧确认订单信息,并选择要购买的证书时长1年,表示该订单只包含1张有效期为1年的证书。
说明所有CA中心签发的证书的有效期最长均为397天,此处选择的是证书服务的订阅时长。更多关于多年期SSL证书说明,请参见购买多年期SSL证书。
2年:包含2张有效期为1年的证书和1次托管服务。本次先为您签发1张证书,等本次签发的证书有效期不足30天时,自动为您申请第2张证书。
3年:包含3张有效期为1年的证书和2次托管服务。本次先为您签发1张证书,等本次签发的证书有效期不足30天时,自动为您申请第2张证书;等第2次签发的证书有效期不足30天时,自动为您申请第3张证书。
仔细阅读证书服务相关协议,单击立即购买并完成支付。
步骤二:创建并申请SSL证书
登录数字证书管理服务控制台。
在左侧导航栏,选择。
在正式证书页签,单击创建证书。
在创建证书面板,参考下表配置证书申请参数,单击提交审核。
按照下表配置完成后,证书进入申请审核阶段,您仅需等待证书签发即可。DV证书平均签发时长为1~15分钟。签发后的状态如下图:
配置项
说明
证书类型
选择单域名。
证书规格
选择Rapid DV单域名证书。
域名名称
输入您的网站域名。例如example.com。
年限
证书订阅时长,默认为1。
快捷签发
勾选快捷签发。并填写以下参数。
域名验证方式:由于本示例域名example.com的DNS云解析服务在当前账号,所以系统会自动识别为自动DNS验证。购买后系统会自动进行DNS验证,只需等待证书签发即可。
说明如果当前阿里云账号与域名的云解析DNS服务所在账号不一致,则此处可以选择以下方式:
手动DNS验证:该方式需要您前往域名对应的云解析DNS服务商,将域名验证信息配置到域名解析列表中(添加一条CNAME或TXT类型的DNS解析记录)。
文件验证:通过在您域名对应的Web应用服务器上创建指定文件来验证域名的所有权。
关于验证方式的更多信息,请参见步骤三:域名所有权验证。
联系人:在下拉列表,单击新建联系人,新建本次证书申请的联系人。如果已创建过联系人,可以直接选择已有的联系人。请您务必确保联系人信息准确且有效。
所在地:选择您所在的城市或地区。
密钥算法:选择RSA,即SSL证书使用的加密算法。
RSA算法是目前在全球应用广泛的非对称加密算法,兼容性好。
CSR生成方式:选择系统生成,表示由数字证书管理服务自动使用您在密钥算法指定的加密算法生成CSR文件。
CSR(Certificate Signing Request)文件是SSL证书的请求文件,包含服务器信息和单位信息,需要提交给CA中心审核。
步骤三:部署 SSL 证书
部署证书到 Web 服务器
下文以CentOS 8.0 64位操作系统、Nginx 1.14.2为例介绍。不同版本的操作系统或Web服务器,部署操作可能有所差异,如有问题,请联系产品技术专家进行咨询,详情请参见专家一对一服务。关于 SSL 证书如何部署到其他 Web 服务器(如 Apache、Tomcat和 IIS 等),请参见手动部署证书至Web应用服务器。
登录数字证书管理服务控制台。
在左侧导航栏,选择。
在正式证书页签,定位到目标证书,在操作列,单击更多,然后选择下载页签。
在服务器类型为Nginx的操作列,单击下载。
解压缩已下载的SSL证书压缩包。
根据您在提交证书申请时选择的CSR生成方式,解压缩获得的文件不同,具体如下表所示。
CSR生成方式
证书压缩包包含的文件
系统生成或选择已有的CSR
证书文件(PEM格式):Nginx支持安装PEM格式的文件,PEM格式的证书文件是采用Base64编码的文本文件,且包含完整证书链。解压后,该文件以
证书ID_证书绑定域名
命名。私钥文件(KEY格式):默认以证书绑定域名命名。
手动填写
如果您填写的是通过数字证书管理服务控制台创建的CSR,下载后包含的证书文件与系统生成的一致。
如果您填写的不是通过数字证书管理服务控制台创建的CSR,下载后只包括证书文件(PEM格式),不包含证书密码或私钥文件。您可以通过证书工具,将证书文件和您持有的证书密码或私钥文件转换成所需格式。转换证书格式的具体操作,请参见证书格式转换。
登录到服务器,进入终端,执行以下命令,在Nginx的conf目录下创建一个用于存放证书的目录。
#进入Nginx默认配置文件目录。该目录为手动编译安装Nginx时的默认目录,如果您修改过默认安装目录或使用其他方式安装,请根据实际配置调整。 cd /usr/local/nginx/conf #创建证书目录,命名为cert。 mkdir cert
将证书文件和私钥文件上传到Nginx服务器的证书目录(/usr/local/nginx/conf/cert)。
说明您可以使用远程登录工具附带的本地文件上传功能,上传文件。例如PuTTY、Xshell或WinSCP等。如果您使用的是阿里云云服务器 ECS,上传文件具体操作,请参见使用远程桌面或Windows APP向Windows实例传输文件或上传文件到Linux云服务器。
编辑Nginx配置文件nginx.conf,修改与证书相关的配置。
执行以下命令,打开配置文件。
sudo vim /usr/local/nginx/conf/nginx.conf
重要nginx.conf默认保存在/usr/local/nginx/conf目录下。如果您修改过nginx.conf的位置,可以执行
nginx -t
,查看nginx的配置文件路径,并将/usr/local/nginx/conf/nginx.conf
进行替换。在nginx.conf中定位到HTTPS server属性配置。
说明如果确定nginx.conf或include指令所引用的文件不存在上图server块,请您自行手动进行添加。
删除行首注释符号#,并参考如下示例进行修改。
server { #HTTPS的默认访问端口443。 #如果未在此处配置HTTPS的默认访问端口,可能会造成Nginx无法启动。 listen 443 ssl; #填写证书绑定的域名 server_name <YOURDOMAIN>; #填写证书文件绝对路径 ssl_certificate cert/<cert-file-name>.pem; #填写证书私钥文件绝对路径 ssl_certificate_key cert/<cert-file-name>.key; ssl_session_cache shared:SSL:1m; ssl_session_timeout 5m; #自定义设置使用的TLS协议的类型以及加密套件(以下为配置示例,请您自行评估是否需要配置) #TLS协议版本越高,HTTPS通信的安全性越高,但是相较于低版本TLS协议,高版本TLS协议对浏览器的兼容性较差。 ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3; #表示优先使用服务端加密套件。默认开启 ssl_prefer_server_ciphers on; location / { root html; index index.html index.htm; } }
可选:设置HTTP请求自动跳转到HTTPS。
如果您希望所有的HTTP访问自动跳转到HTTPS页面,可通过rewrite指令重定向到HTTPS。
重要请在nginx.conf文件中定位到http server的配置代码块,新增配置重定向的代码;
如果找不到上述代码段,可以将以下代码片段放置在nginx.conf文件中
server {}
代码段后面,即设置HTTP请求自动跳转到HTTPS后,nginx.conf文件中会存在两个server {}
代码段。server { listen 80; #填写证书绑定的域名 server_name <YOURDOMAIN>; #将所有HTTP请求通过rewrite指令重定向到HTTPS。 rewrite ^(.*)$ https://$host$1; location / { index index.html index.htm; } }
配置效果如下图所示:
执行以下命令,重启Nginx服务。
#进入Nginx服务的可执行目录。 cd /usr/local/nginx/sbin #重新载入配置文件。 ./nginx -s reload
说明报错
the "ssl" parameter requires ngx_http_ssl_module
:您需要重新编译Nginx并在编译安装的时候加上--with-http_ssl_module
配置。报错
"/cert/3970497_demo.aliyundoc.com.pem":BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/cert/3970497_demo.aliyundoc.com.pem','r') error:2006D080:BIO routines:BIO_new_file:no such file)
:您需要去掉证书相对路径最前面的/
。例如,您需要去掉/cert/cert-file-name.pem
最前面的/
,使用正确的相对路径cert/cert-file-name.pem
。
验证部署是否成功
证书安装完成后,您可通过访问证书绑定的域名验证该证书是否安装成功。
https://yourdomain #需要将yourdomain替换成证书绑定的域名。
如果浏览器的地址栏出现
图标,表示证书已经安装成功。
从Chrome 117版本开始,Chrome浏览器将地址栏HTTPS的
改为了
图标。请单击该图标,参考如下示例,出现
标志时,表示证书安装成功。
部署证书到云产品
SSL证书签发成功后,您可以将证书部署到您的Web服务器或阿里云产品中。本文将以阿里云内容分发网络CDN为例,介绍如何将证书部署至该云产品。如果您想进一步了解将证书部署到其他云产品,或部署到Web服务器中的操作,请参见部署SSL证书。
登录数字证书管理服务控制台。
在左侧导航栏,选择。
在正式证书页签,定位到您已签发的证书,在操作列,单击部署。
在选择资源引导页,选择内容分发网络(CDN)和对应资源,单击预览并提交。
系统会自动识别并拉取所有云产品中的资源,如果您在对应的云产品中未找到目标资源,请在资源总数区域确认资源是否已完成同步,如果资源正在同步中(如图示灰色状态),请您耐心等待资源同步完成。资源同步时间取决于您的当前云产品的资源数。
在任务预览面板,确认部署的证书实例和云产品资源信息,如无问题,单击提交。
预览页面会显示对应云产品匹配的证书个数和消耗的部署次数。证书匹配个数为0表示您选择的证书与云产品资源不匹配,会导致部署失败,请您仔细核对选择的证书。
验证部署是否成功
登录CDN控制台。
在左侧导航栏,单击域名管理。
在域名管理页面,找到目标域名,单击操作列的管理。
在指定域名的左侧导航栏,单击HTTPS配置。
查看已部署的SSL证书信息,包括证书的状态和有效期等。如果 HTTPS 证书显示为已开启,说明证书已成功部署。
如果您刚刚完成了证书的部署,可能需要等待一段时间,让CDN缓存更新,这样才能看到最新的证书信息。
相关文档
安装SSL证书后,如果证书未生效,请参见根据浏览器错误提示解决证书部署问题。
安装SSL证书时如需技术支持,请参见购买证书申请协助和部署服务。
如需手动部署至Web应用服务器,例如Nginx、Apache等,请参见手动部署证书至Web应用服务器。