如果您已经拥有一个通过ICP备案的可公网访问的域名,并计划在正式上线前通过HTTPS协议在真实网络条件下进行性能测试,您可以免费获取个人测试证书,并将其部署到您的Web服务器上。
流程概述
在您的服务器中部署个人测试证书只需要三步:
前提条件
已在Web服务器开放443端口(HTTPS通信的标准端口)。
如果您使用的是阿里云ECS服务器,请确保已经在安全组规则入方向添加TCP 443端口。具体操作,请参见管理安全组规则。
如果您使用的是其他云服务商或本地服务器,请确保在防火墙或安全组中开启TCP 443端口。
443是HTTPS证书使用的常见端口,但具体使用的端口可以根据您的实际需求进行自定义配置。请根据实际情况调整相关设置,以确保证书能够正常工作。
步骤一:领取个人测试证书(免费版)
登录数字证书管理服务控制台,在左侧导航栏,选择 。在个人测试证书(原免费证书)页签,单击立即购买。
在立即购买面板,保持默认选项,仔细阅读并勾选服务协议,单击立即购买并完成支付。
重要如果该账号不满足个人测试证书(免费版)购买规则,请参见购买个人测试证书(pro)。
个人测试证书(免费版)领取后不支持取消订单。
步骤二:提交证书申请
在个人测试证书(原免费证书)页签单击创建证书,填写以下必要信息,其他保持默认即可,确认信息无误后,单击提交审核。
域名名称:输入您要申请证书的域名,例如example.com。
勾选快捷签发后填写以下信息。
域名验证方式:选择自动DNS验证。
说明由于本示例域名example.com的DNS云解析服务在当前账号,所以系统会自动识别为自动DNS验证。购买后系统会自动进行DNS验证,只需等待证书签发即可。
如果当前阿里云账号与域名的云解析DNS服务所在账号不一致,则此处可以选择以下方式:
手动DNS验证:该方式需要您前往域名对应的云解析DNS服务商,将域名验证信息配置到域名解析列表中(添加一条CNAME或TXT类型的DNS解析记录)。
文件验证:通过在您域名对应的Web应用服务器上创建指定文件来验证域名的所有权。
关于验证方式的更多信息,请参见步骤三:域名所有权验证。
联系人:选择本次证书申请的联系人。
信息填写完毕后,点击提交审核即可。
完成域名验证。按照验证信息中的提示,完成域名所有权的验证。
域名所有权验证成功后,证书通常会在1~15分钟(平均时长)内完成签发。证书签发后,证书状态将变更为已签发。如果SSL证书长时间未签发,请您检查DNS验证配置是否正确。更多关于域名所有权证书说明,请参见域名所有权验证。
重要证书自签发之日起生效,有效期为90天。
步骤三:部署证书到 Web 服务器
下文以CentOS 8.0 64位操作系统、Nginx 1.14.2为例介绍。其他操作系统或 Web 服务器(如 Apache、Tomcat、IIS等)的部署操作可能有所不同,详情请参见手动部署证书至Web应用服务器。
下载证书文件
找到已签发的免费证书,在操作列单击更多,然后选择下载页签。
选择与您Web服务器类型对应的证书(如Nginx),单击下载证书文件压缩包。
上传证书文件到服务器。在Nginx的conf目录下创建一个用于存放证书的目录,将解压后的证书文件上传到Nginx服务器(/usr/local/nginx/conf/cert)。
解压后的证书文件通常包括:
证书文件(如:
example.com.pem
)私钥文件(如:
example.com.key
)
#进入Nginx默认配置文件目录。该目录为手动编译安装Nginx时的默认目录,如果您修改过默认安装目录或使用其他方式安装,请根据实际配置调整。 cd /usr/local/nginx/conf #创建证书目录,命名为cert。 mkdir cert
说明您可以使用远程登录工具附带的本地文件上传功能,上传文件。例如PuTTY、Xshell或WinSCP等。如果您使用的是阿里云云服务器 ECS,上传文件具体操作,请参见使用远程桌面或Windows APP向Windows实例传输文件或上传文件到Linux云服务器。
配置Web服务器。编辑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
中定位到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; } }
修改完成后,按下
Esc
键确保处于命令模式。输入:wq
,然后按Enter
键,保存并退出。执行以下命令,重载配置文件。
#进入Nginx服务的可执行目录。 cd /usr/local/nginx/sbin #重新载入配置文件。 ./nginx -s reload
验证部署
证书安装完成后,您可通过访问证书绑定的域名验证该证书是否安装成功。
https://yourdomain #需要将yourdomain替换成证书绑定的域名。
如果浏览器的地址栏出现
图标,表示证书已经安装成功。
从Chrome 117版本开始,Chrome浏览器将地址栏HTTPS的
改为了
图标。请单击该图标,参考如下示例,出现
标志时,表示证书安装成功。
相关文档
安装SSL证书后,如果证书未生效,请参见根据浏览器错误提示解决证书部署问题、SSL证书部署故障自助排查指南。
在正式环境中,我们建议您使用正式证书来为您的网站提供安全加密,具体文档请参见购买正式证书。
除了手动部署证书到Web服务器以外,还支持将证书部署至阿里云云产品,确保安全和高效的使用。