在服务器中部署个人测试证书包含以下三个步骤:
领取个人测试证书:获取个人测试证书的使用资格。
提交证书申请:填写证书相关信息并提交审核,等待证书签发。
部署证书:将签发的证书部署到Web服务器
已完成实名认证。
已在Web服务器开放443端口(HTTPS通信的标准端口)。
如果您使用的是阿里云ECS服务器,请确保已经在安全组规则入方向添加TCP 443端口。
如果您使用的是其他云服务商或本地服务器,请确保在防火墙或安全组中开启TCP 443端口。
拥有域名,且该域名已完成ICP备案。
拥有该域名的DNS解析管理权限。
说明:443是HTTPS的默认端口,也可根据实际需求自定义端口号。
登录数字证书管理服务控制台或,在左侧导航栏,选择证书管理 > SSL证书管理 V2.0 。在个人测试证书(原免费证书)页签,单击购买证书。
在购买证书页面,填写购买数量,其他配置项保持默认,勾选证书服务服务协议和证书技术支持服务须知,单击立即购买并完成支付。
1.在个人测试证书(原免费证书)页签,找到目标证书订阅实例,单击操作列下的申请证书。
2.在弹出的证书申请对话框中,填写以下信息,确认无误后单击提交审核。
1. 证书绑定域名:输入证书要绑定的域名,示例域名:`www.aliyun.com`。2. CSR生成方式:选择系统生成。3. 所在地:选择申请人所在的省份、城市和地区。4. 联系人:选择本次 证书申请的联系人。5. 密钥算法:根据需求选择。密钥长度越长,加密强度越高。RSA\_2048 表示 2048 位密钥的 RSA 算法。 6. 域名验证方式:推荐选择自动DNS验证。当域名 DNS 与当前阿里云账号不一致时,可选择手动 DNS验证或文件验证方式。三种验证方式对比如下:
| 验证方式 | 说明 | 推荐场景 |
|---|---|---|
| 自动DNS验证 | 系统自动添加DNS解析记录完成验证。仅当域名所在的云解析DNS服务与当前阿里云账号一致时可选。 | 推荐使用,操作最为简便。 |
| 手动DNS验证 | 手动前往域名对应的DNS服务商,添加一条CNAME或TXT类型的DNS解析记录。 | 域名DNS服务与当前阿里云账号不一致时使用。 |
| 文件验证 | 在域名对应的Web应用服务器上创建指定文件来验证域名所有权。 | 无法操作DNS解析时使用。 |
下文以CentOS 8.0 64位操作系统、Nginx 1.14.2为例说明。其他操作系统或Web服务器(如Apache、Tomcat、IIS等)的部署操作可能有所不同。
1.下载证书文件。
1. 在个人测试证书(原免费证书)页签,找到已签发的证书,单击操作列下的下载。2. 选择与Web服务器类型对应的证书格式(如Nginx),单击操作列下的下载,下载证书文件压缩包。
2.上传证书文件到服务器。
1. 在Nginx的conf目录下创建一个用于存放证书的目录。 重要 本示例中的Nginx配置目录位于`/usr/local/nginx/conf`。如不清楚Nginx配置目录,可执行`nginx -t`查看。 ``` #进入Nginx默认配置文件目录。 cd /usr/local/nginx/conf #创建证书目录,命名为cert。 mkdir cert ```2. 将解压后的证书文件上传到Nginx服务器。解压后的证书文件通常包括: - 证书文件(如:`example.com.pem`) - 私钥文件(如:`example.com.key`)
3.配置Web服务器:编辑Nginx配置文件nginx.conf,修改与证书相关的配置。
重要
本示例中的Nginx配置目录位于`/usr/local/nginx/conf`。如不清楚`nginx.conf`的位置,可执行`nginx -t`查看。
1. 执行以下命令,打开配置文件。
```
sudo vim /usr/local/nginx/conf/nginx.conf
```
2. 在`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;
# }
#}
```
3. 删除行首注释符号#,并参考以下示例调整配置。
说明
以下示例中已移除不安全的 TLSv1.1 协议(参见 RFC 8996),仅保留 TLSv1.2 和 TLSv1.3。
修改完成后,按`Esc`键进入命令模式,输入`:wq`并按`Enter`键,保存并退出。
```
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协议对浏览器的兼容性较差。
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1.2 TLSv1.3; #表示优先使用服务端加密套件。默认开启
ssl_prefer_server_ciphers on;
location / {
root html;
index index.html index.htm;
}
}
```
4. 执行以下命令,重载配置文件。
``` #进入Nginx服务的可执行目录。
cd /usr/local/nginx/sbin
#重新载入配置文件。
./nginx -s reload
```
4.验证部署。
证书部署完成后,您可通过访问证书绑定的域名验证该证书是否部署成功。 ```https://yourdomain #将yourdomain替换为您的实际域名 ``` - 如果浏览器地址栏出现锁形图标图标,表示证书已安装成功。