个人测试证书是阿里云为个人网站、开发测试或企业用户在建设初期提供的SSL证书,其证书类型及部署场景相对有限。相比之下,正式SSL证书提供多种类型和品牌选择,可满足不同规模网站的需求,无论是电商平台、中小企业、大型集团还是个人站点都能找到合适的证书方案。正式SSL证书还支持通配符证书、多域名证书和混合域名证书,可同时保护多个子域名或多个不同域名。本文将引导您完成正式证书的购买、申请签发和安装部署全流程。
流程概述
在服务器中部署正式SSL证书仅需以下三个步骤:
-
步骤一:购买正式SSL证书:获取正式SSL证书资格。
-
步骤二:申请SSL证书:填写证书相关信息并提交审核,用于签发最终证书。
-
步骤三:部署SSL证书:证书签发后,将其部署到Web服务器或云产品。
前提条件
步骤一:购买正式SSL证书
登录数字证书管理服务控制台。
-
在左侧导航栏,选择证书管理 > SSL证书管理 V2.0。
在正式证书页签,单击购买证书。
-
参考下表完成购买参数配置。
配置项
说明
付费类型
选择输入域名购买。
域名名称
输入需要申请证书的域名,如
www.example.com。如需绑定多个域名,可在回车后继续输入新的域名。如需绑定二级域名下的所有一级子域名,可输入通配符域名,如*.example.com,即可包含a.example.com、b.example.com等,但不包括a.b.example.com。注意,如输入example.com,仅代表绑定example.com域名,不包括该域名下的子域名,例如a.example.com。证书类型
选择DV证书(域名型证书),安全性一般,但审核过程简单。
证书品牌
选择Rapid品牌,价格较低。不同品牌证书价格不同。
自动托管
选择关闭。开启后会在证书签发有效期到期前自动发起证书申请,发起申请时会额外扣费。
专家人工服务
选择不需要。技术支持服务可协助您完成证书申请和部署,需额外付费。
开启域名监控
选择否。域名监控服务提供证书有效期、证书链完整性、域名到期时间及域名可访问性等多维度的安全监控告警,需额外付费。
说明更多正式证书购买配置的详细说明,请参见购买正式证书。
-
在购买页右侧确认订单信息,选择证书时长为1年,即该订单包含1个证书实例1年订阅时长。因 CA/B 行业政策要求,证书的签发有效期可能小于订阅时长,订阅时长内可能需要多次重新签发证书。为避免人工处理不及时,可开启自动托管,协助自动完成证书重签发。
-
仔细阅读证书服务相关协议后,单击立即购买并完成支付。
步骤二:申请SSL证书
-
购买完成后,返回正式证书页签,在操作列,单击证书申请。
-
在证书申请面板,参考下表配置证书申请参数,完成后单击提交审核。
配置项
说明
证书绑定域名
输入您的网站域名,例如
www.example.com。如果购买的是通配符域名,则输入*.example.com。域名验证方式
选择用于验证域名持有者身份的方式。
如果本示例域名
example.com的DNS解析不在当前账号下(如三方DNS解析或其他阿里云账号),则只能选择手动DNS验证或文件验证。提交审核后,您需要按照页面引导完成域名验证,否则证书无法签发。如果域名的云解析DNS服务所在账号与当前阿里云账号相同,则系统会自动匹配自动DNS验证方式。提交审核后无需手动操作,系统将自动完成域名验证,您只需等待证书签发即可。
联系人
从下拉列表中单击新建联系人新建联系人,或直接选择已有联系人。请确保联系人信息准确有效。
公司
选择域名归属的公司信息。
密钥算法
选择RSA算法,即SSL证书使用的加密算法。
RSA算法是目前全球应用最广泛的非对称加密算法,兼容性良好。
CSR生成方式
选择系统生成,由数字证书管理服务自动使用您在密钥算法中指定的加密算法生成CSR文件。
CSR(Certificate Signing Request)文件是SSL证书请求文件,包含服务器信息和单位信息,需要提交给CA中心审核。
说明更多申请证书的参数限制及配置说明,请参见申请证书。
-
可选:如果域名所有权验证方式选择了手动DNS验证或文件验证,请根据页面引导完成域名验证操作。关于域名所有权验证的更多介绍及操作示例,请参见域名所有权验证。
-
如果选择了自动DNS验证,无需额外操作,等待证书签发即可。DV证书平均签发时长为1~15分钟。
-
申请证书时选择手动DNS验证方式,需要手动在域名解析服务中添加DNS记录以完成域名所有权验证。添加DNS记录后,等待DNS记录生效(通常几分钟内),系统将自动完成域名所有权验证并签发证书。
说明如果域名DNS解析不在当前阿里云账号下(如使用第三方DNS解析服务或其他阿里云账号),只能选择手动DNS验证方式。添加DNS记录后,系统会自动检测验证结果,无需在控制台手动触发验证。
-
步骤三:部署SSL证书
部署证书到Web服务器
本文以CentOS 8.0 64位操作系统、Nginx 1.14.2为例进行介绍。不同操作系统或Web服务器的部署操作可能存在差异。关于如何将SSL证书部署到其他Web服务器(如Apache、Tomcat和IIS等),请参见手工部署证书。
登录数字证书管理服务控制台。
-
在左侧导航栏,选择证书管理 > SSL证书管理 V2.0。
-
在正式证书页签,定位到目标证书,单击操作列的下载。
-
在服务器类型为 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,关于上传文件的具体操作,请参见上传或下载文件。
-
编辑Nginx配置文件
nginx.conf,修改与证书相关的配置。-
执行以下命令,打开配置文件。
sudo vim /usr/local/nginx/conf/nginx.conf说明如果不确定
nginx.conf的位置,可以执行nginx -t查看配置文件路径。 -
在
nginx.conf中定位到HTTPS server配置。# HTTPS server # #server { # listen 443 ssl; # server_name localhost; # ssl_certificate cert.pem; # ssl_certificate_key cert.key; # ssl_session_cache shared:SSL:1m; # ssl_session_timeout 5m; # ssl_ciphers HIGH:!aNULL:!MD5; # ssl_prefer_server_ciphers on; # location / { # root html; # index index.html index.htm; # } #}说明如果
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指令实现重定向。
重要请在
nginx.conf文件中定位到HTTP server的配置代码块,在其中新增以下重定向代码。如果找不到上述代码段,可以将以下代码片段放置在
nginx.conf文件的server {}代码段之后。配置完成后,nginx.conf文件中将存在两个server {}代码段。server { listen 80; #填写证书绑定的域名 server_name <YOURDOMAIN>; #将所有HTTP请求通过rewrite指令重定向到HTTPS。 rewrite ^(.*)$ https://$host$1; location / { index index.html index.htm; } }配置效果如下所示:
# HTTPS server # server { listen 443 ssl; server_name <your_domain>; ssl_certificate cert/<your_cert>.pem; ssl_certificate_key cert/<your_cert>.key; ssl_session_cache shared:SSL:1m; ssl_session_timeout 5m; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; location / { root html; index index.html index.htm; } } server { listen 80; server_name <your_domain>; 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证书后如果证书未生效,可参考根据浏览器错误提示解决证书部署问题。如需技术支持,可参考购买证书申请协助和部署服务。
部署证书到云产品
SSL证书签发成功后,您可以将其部署到Web服务器或阿里云产品中。本文以阿里云内容分发网络CDN为例,介绍如何将证书部署至云产品。如需了解部署到其他云产品或Web服务器的操作,请参见部署SSL证书。
登录数字证书管理服务控制台。
在左侧导航栏,选择。
-
在正式证书页签,定位到已签发的证书,在操作列,单击部署。
-
在选择资源引导页,选择内容分发网络(CDN)和对应资源,单击预览并提交。
系统会自动拉取所有云产品中的资源。如果在对应云产品中未找到目标资源,请在资源总数区域确认资源是否已完成同步。如果资源处于同步中状态(显示为灰色状态),请耐心等待。资源同步时间取决于当前云产品中的资源数量。
-
在任务预览面板,确认证书实例和云产品资源信息,确认无误后单击提交。
预览页面将显示对应云产品匹配的证书个数和消耗的部署次数。证书匹配个数为0表示证书与所选云产品资源不匹配,会导致部署失败,请仔细核对所选证书。
验证部署是否成功
登录CDN控制台。
在左侧导航栏,单击域名管理。
在域名管理页面,找到目标域名,单击操作列的管理。
在指定域名的左侧导航栏,单击HTTPS配置。
-
查看已部署SSL证书的信息,包括证书状态和有效期等。如果 HTTPS 证书显示为已开启,说明证书已成功部署。
刚完成证书部署后,可能需要等待一段时间让CDN缓存更新,才能看到最新的证书信息。