正式SSL证书涵盖多种类型和品牌,适用于不同规模的网站,包括但不限于电商、小型企业、大型企业及个人用户等。此外,正式SSL证书还包括通配符证书、多域名证书和混合域名证书,以满足不同业务需求,例如保护多个子域名或多个不同的域名。本文为您介绍正式证书购买、申请、签发以及安装流程。
流程概述
在您的服务器中部署正式SSL证书只需要三步:
前提条件
如果待部署SSL证书的网站计划部署在中国内地,则您需要按照工信部的相关要求完成ICP备案,否则将影响网站的正常访问。更多信息,请参见什么是ICP备案。
步骤一:购买正式SSL证书
登录数字证书管理服务控制台。
在左侧导航栏,选择。
在正式证书页签,单击立即购买进入购买页面,参考下表选择证书规格,单击立即购买并完成支付。
参数
说明
域名类型
选择单域名。表示一张SSL证书绑定一个主域名、一个子域名或一个公网IP(IPv4)。例如example.com、1.1.X.X等。
品牌
选择Alibaba Cloud。Alibaba Cloud阿里云自有SSL证书品牌。相较于其他品牌证书,Alibaba Cloud品牌证书价格更为优惠。
证书类型
默认为DV SSL,即域名型证书。适用于个人网站、App服务、展示型网站、企业测试或个人测试网站。
数量
默认为1,不支持增加。表示购买1张证书。
服务年限
选择SSL证书服务的时长为1年,表示该订单包含1张有效期为1年的证书。
说明更多关于正式证书购买配置说明,请参见购买正式证书。
步骤二:申请SSL证书
购买证书后返回至正式证书页签,在操作列,单击证书申请。
在证书申请面板,参考以下图表配置证书申请参数,并单击提交审核。
配置项
说明
证书绑定域名
输入您的网站域名。例如
example.com
。域名验证方式
选择验证域名持有者身份的方式。
由于本示例域名
example.com
的解析不在当前账号(三方解析或其他阿里云账号),所以只能选择手动DNS验证或文件验证。在提交审核后,您需要根据页面指导完成域名验证,否则证书无法签发。如果域名的云解析DNS服务所在账号与当前阿里云账号相同,则此处自动匹配自动DNS验证方式。提交审核后,无需您手动配置,系统会自动为您完成域名验证,您只需等待证书签发即可。
联系人
在下拉列表,单击新建联系人,新建本次证书申请的联系人。如果已创建过联系人,可以直接选择已有的联系人。请您务必确保联系人信息准确且有效。
所在地
选择您所在的城市或地区。
密钥算法
选择RSA,即SSL证书使用的加密算法。
RSA算法是目前在全球应用广泛的非对称加密算法,兼容性好。
CSR生成方式
选择系统生成,表示由数字证书管理服务自动使用您在密钥算法指定的加密算法生成CSR文件。
CSR(Certificate Signing Request)文件是SSL证书的请求文件,包含服务器信息和单位信息,需要提交给CA中心审核。
说明更多关于申请证书参数限制及配置说明,请参见申请证书。
可选:如果您的域名所有权验证方式选择为手动DNS验证或文件验证,请根据页面引导完成域名验证。关于域名所有权验证的更多介绍以及操作示例,请参见域名所有权验证。
如果您的域名所有权选择为自动DNS验证,您无需额外操作,等待证书签发即可。DV证书平均签发时长为1~15分钟。签发后的状态如下图:
步骤三:部署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的位置,可以执行
nginx -t
,查看nginx的配置文件路径。在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证书后,如果证书未生效,请参见根据浏览器错误提示解决证书部署问题。
如需手动部署至Web应用服务器,例如Nginx、Apache等,请参见手动部署证书至Web应用服务器。